我知道有几个与此问题相关的帖子,但我还没有找到解决当前问题的方法。
我对Wordpress来说相当新,但我仍然习惯了它,但是......
问题
我正在为用户过滤掉学校实施前端排序系统,我正在使用评级插件(评论评级字段专业版),我的问题是,当用户按星级排序我也想要它按评论数量排序(评论)。目前它只是按评级排序,只是忽略评论数量和按标题排序。我已经尝试了各种查询参数数组的组合,例如meta_query和多个元键,但问题似乎是它拒绝对第二个值进行排序。两者都是数据库中的数字。
TL:DR需要按星级排序,然后按评论数量排序。
不幸的是,自定义查询是不可能的,因为数组被送入另一个插件,该插件似乎只接受一组args。
这就是我想要的想法(这不起作用)
Array ( [post_type] => surf-school [posts_per_page] => 12 [paged] => 0 [meta_key] => crfp-average-rating [orderby] => meta_value crfp-total-rating [order] => DESC )
任何帮助都会非常感激,因为它让我疯狂!
提前致谢。
更新
我已设法使用此帖子的评论回复修复此问题,该帖子现在似乎已被删除:(
我通过向wp_query添加过滤器并强制执行自定义订单来管理它,如此处Plugin API/Filter Reference/posts orderby - Codex
function edit_posts_orderby($orderby_statement) {
$orderby_statement = "wp_postmeta.meta_value DESC, wp_posts.comment_count DESC";
return $orderby_statement;
}
放在functions.php和
中add_filter('posts_orderby', 'edit_posts_orderby');
放在查询之前。希望这有助于其他人:)