WordPress计数自定义帖子类型高级自定义字段

时间:2017-08-21 13:58:05

标签: php wordpress advanced-custom-fields

我有WordPress网站和插件高级自定义字段,我已经为推荐书创建了一个自定义帖子,里面是自定义字段,称为'评级'在哪里放一个例如1,3.5,5等。

我想从每个帖子的字段中获取所有数字,并将它们添加到总数或平均值中。

但是我很难挣扎,我可以让它来填充收视率,例如5,5

但是我无法将它们加起来,有人可以帮忙吗?

这是我到目前为止所拥有的......

<?php 
    $args = array( 'post_type' => 'testimonial', 'posts_per_page' => 9999 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
?>
    <?php 
        $count = (get_field('rating'));
        print_r($count);
        $add = count($count);
        return $add;
        echo $add;
    ?>    
<?php
    endwhile;
?>  

2 个答案:

答案 0 :(得分:0)

尝试使用此代码。已更改posts_per_page => -1

global $post;
$count = array(); // define $count as array variable
$args = array( 'post_type' => 'testimonial' 'posts_per_page' => -1, 'offset'=> 1);
$myposts = get_posts( $args );
foreach ( $myposts as $post ) : setup_postdata( $post ); 
   // push rating value inside the $count array
   $count[] = get_post_meta($post->ID, 'rating', true); 
endforeach; 
wp_reset_postdata();

$add = count($count);  // You can use this variable outside also.
echo $add;  // print total rating.

希望,这对你有所帮助。感谢。

答案 1 :(得分:0)

他几乎做对了。只需用array_sum()

替换count()即可
 $(".next").click(function(){
 document.getElementById('btnNext').addEventListener('click',