通过多个元键wordpress排序

时间:2014-08-18 12:42:04

标签: php arrays wordpress sorting args

我知道有几个与此问题相关的帖子,但我还没有找到解决当前问题的方法。

我对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');

放在查询之前。希望这有助于其他人:)

0 个答案:

没有答案