我正在为 wordpress 博客创建升级系统。我相信这个问题更多地是针对 Php 和数学而不是 wordpress,这就是我在这里问这个问题的原因。
我希望用户在评级(或者您可以称之为 xp)自定义字段达到 25 的倍数时获得“级别”(虽然我希望 xp 要求成倍增加,但请查看下面的请求 #2)。
我的functions.php文件中有这个。
function movie_level() {
if ( is_single() ) {
global $post;
$movie_level = get_post_meta( $post->ID, "movie_level", true);
if ( !isset( $movie_level ) OR empty( $movie_level ) OR !is_numeric( $movie_level ) ) {
$movie_level = 1;
add_post_meta( $post->ID, "movie_level", $movie_level );
}
$vmeta = get_post_meta( get_the_ID(), 'ratings_score', true );
$movie_percentage_check = $vmeta / ( 25*$movie_level ) * 100;
if ( $movie_percentage_check == 100 ) {
$new_level = $movie_level + 1;
update_post_meta( $post->ID, "movie_level", $new_level );
$update_rating = $vmeta + 1;
update_post_meta( $post->ID, "ratings_score", $update_rating );
} return $movie_level;
}
}
它的作用是在收视率达到 25 时为 movie_movie 级别添加 +1。
在我的single.php文件中,我有以下内容:
$meta = get_post_meta( get_the_ID(), 'ratings_score', true );
$level= movie_level();
$perc = $meta / ( 25 * $level ) * 100;
echo '<div class="progress large-6 small-12 columns "><span class="meter" style="width:'.$perc.'%"><span></span></span></div>';
echo movie_level();
这将使用进度条 css 组件显示到下一个级别的进度。
要求
当达到新水平时,如何使 $perc 再次从 0% 开始?使用我当前的方程式,进度条将始终显示从 1 级 - 3 级(例如)开始的进度,而不是 2 级 - 3 级。
如何更新我的代码,以便每个级别的评级要求呈指数增长,并且仍然达到我在请求 #1 中想要的