我使用WP-PostRatings插件为wordpress网站的帖子评级,它工作正常。我只需要通过评级对帖子进行排序。为此,我添加了以下行
query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
但它开始显示所有类别的帖子,而不是仅显示所选类别的帖子。请你帮助我好吗。
<?php if (have_posts()) :
//sort by rate
query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while (have_posts()) : the_post(); ?><div class="post">
<h3><?php the_title(); ?></h3>
<?php
if(function_exists('the_ratings')) { the_ratings(); }
?>
<p><?php the_content(); ?></p>
</div>
<?php
endwhile;
else :
echo '<p>No content found.</p>';
endif;
?>
答案 0 :(得分:-1)
你展示使用Wordpress真棒pre_get_posts动作
add_action( 'pre_get_posts', funtion ( $q )
{
$q->set( 'meta_key', 'ratings_average' );
$q->set('orderby' => 'meta_value_num');
$q->set('order' => 'DESC');
});