Php 在wordpress中按比率对帖子排序
我使用WP PostRatings插件对wordpress网站的帖子进行评级,效果很好。我所需要的就是按评级对帖子进行排序。为此,我添加了以下行Php 在wordpress中按比率对帖子排序,php,wordpress,Php,Wordpress,我使用WP PostRatings插件对wordpress网站的帖子进行评级,效果很好。我所需要的就是按评级对帖子进行排序。为此,我添加了以下行 query_posts( array( 'meta_key' => 'ratings_average', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) ); 但它开始显示所有类别中的帖子,而不是仅显示选定类别中的帖子。你能帮帮我吗 <?php if (hav
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;
?>
您显示了使用Wordpress awesome pre\u get\u posts操作
add_action( 'pre_get_posts', funtion ( $q )
{
$q->set( 'meta_key', 'ratings_average' );
$q->set('orderby' => 'meta_value_num');
$q->set('order' => 'DESC');
});
您是否在URL中获取当前类别slug?或者任何变量?请添加带有类别的代码,以便我们可以帮助您。永远不要使用
query\u posts
,它会破坏主查询对象和所有页面功能(如您所见;-),而且速度也很慢。使用pre_get_posts
将主查询正确更改为按自定义字段排序。我在url/category/accountations/hotels/中获得以下内容。我没有类别代码。我只是在菜单中有类别名称,当我点击它时,wordpress会显示所选类别中的所有帖子。皮特,我刚刚使用了pre_get_posts,我得到了致命错误:调用未定义的函数pre_get_posts(),这是正常的类别页面?这会影响所有页面、前端和后端的所有查询,并会在真实页面上导致404个错误;-)