wordpress - 使用多个“orderby”对 wp_query 进行排序?
问题描述
我正在尝试使用多个“orderby”变量对 wp_query 进行排序。
我的目标是为以下显示提供 2 个 orderby 变量 - 按组排序,然后按评级...
导师 1(第 1 组)(5 颗星)
导师 2(第 1 组)(4 星)
导师 3(第 2 组)( 5 星)
导师 4(第 2 组)(4 星)
导师 5(第 2 组)(3 星)
我尝试了很多东西,包括一个 meta_query 数组,但还没有成功。
这是代码:
if ($_GET['orderby'] == 'ownership') {
$query->set('post_type', 'tutor');
$query->set('meta_key', 'ownership');
$query->set('orderby', 'meta_value');
$query->set('order', 'ASC');
$query->set('meta_key', 'tutor_plugin_rating');
$query->set('orderby', 'meta_value');
$query->set('order', 'DESC');
简而言之,我还没有弄清楚如何在同一个查询中按“所有权”排序,然后按“tutor_plugin_rating”排序。谁能指导我?
解决方案
弄清楚了...
$meta_query = array(
array(
'ownership_clause' => array(
'key' => 'ownership',
'compare' => 'EXISTS'
)
),
array(
'rating_clause' => array(
'key' => 'tutor_plugin_rating',
'compare' => 'EXISTS'
)
)
);
$query->set('meta_query', $meta_query);
$query->set('orderby', array('ownership_clause' => 'ASC', 'rating_clause' => 'DESC'));
推荐阅读
- reactjs - 是否可以在 reactJs 应用程序中使用 iframe 元素打开存储在本地存储中的 html 页面?
- jquery - 带有片段的 Ecto 查询
- objective-c - 如何使子类符合 Objective-C 中的协议?
- python - 收益中的收益有什么作用?
- gridstack - 无法将服务器端元素加载为显示最大调用堆栈大小错误
- javascript - 中心绘图跟踪
- azure - 我们可以将加密的虚拟机从订阅移动到订阅吗
- single-sign-on - 为 Jira 8.1 设置 SSO 并与 cas 融合
- ssh - 如何确定 ssh 私钥文件的格式?
- node.js - AWS SQS Node.js 脚本不等待