需要一些与数学相关的问题的帮助。
我的代码如下,其中显示所有用户的所有小时费率(例如:35,30,45,68等)
$args = array(
'role' => 'freelance_author',
);
// The Query
$user_query = new WP_User_Query( $args );
if ( ! empty( $user_query->results ) ) {
foreach ( $user_query->results as $user ) {
$all_hourly_rate = get_the_author_meta( 'hourly_rate', $user->ID );
echo '<p>' . $all_hourly_rate . '</p>';
}
}
现在我想要一个额外的变量,它可以获得最高的数字(例如68)。
然后下一步是在进度条中实现这个
<div class="uk-progress">
<div class="uk-progress-bar" style="width:<?php echo esc_attr( $author_hourly_rate ); ?>%;"></div>
</div>
让我们说一位特定作者的小时费率为34美元,这是最高小时费率的50%(68)(进度条上100%),那么$author_hourly_rate
应为{该特定作者的{1}}%。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以通过将其存储在临时变量中来获得最高值:
$temp = 0;
foreach ( $user_query->results as $user ) {
$all_hourly_rate = get_the_author_meta( 'hourly_rate', $user->ID );
echo '<p>' . $all_hourly_rate . '</p>';
$temp = $all_hourly_rate > $temp ? $all_hourly_rate : $temp;
}
然后计算百分比:
<div class="uk-progress-bar" style="width:<?php echo esc_attr( ($author_hourly_rate * 100) / $temp ); ?>%;"></div>
答案 1 :(得分:1)
您可以遍历user
中的每个result
并检查他们的hourly_rate
是否大于max_hourly_rate
$args = array(
'role' => 'freelance_author',
);
// The Query
$user_query = new WP_User_Query( $args );
if ( ! empty( $user_query->results ) ) {
// set default $max_hourly_rate as the first result UID
$max_hourly_rate = get_the_author_meta( 'hourly_rate', $user_query->results[0]->ID);
for ( $i=1; $i<count($user_query->results); $i++ ) {
$user = $user_query->results[$i];
$hourly_rate = get_the_author_meta( 'hourly_rate', $user->ID );
echo '<p>' . $hourly_rate . '</p>';
//set max_hourly_rate if the users hourly_rate is greater
if ($hourly_rate > $max_hourly_rate){
$max_hourly_rate = $hourly_rate;
}
}
}
?>
一旦找到max_hourly_rate
,您就可以将div宽度百分比计算为($hourly_rate/$max_hourly_rate) * 100
<div class="uk-progress">
<div class="uk-progress-bar" style="width:<?php echo esc_attr($hourly_rate/$max_hourly_rate) * 100; ?>%;"></div>
</div>
修改:更新了echo
宽度