我有两个自定义字段的wordpress帖子 'EPISODE_NUMBER' 'season_number'
我想选择season_number = 5(示例)的所有帖子,并按episode_number DESC排序
我写过这个
$max_season=5;
$args = array(
'meta_key' => 'season_number',
'meta_compare' =>'==',
'meta_value' => $max_season,
'orderby' => 'episode_number',
'order' => 'DESC',
);
$wp_query = new WP_Query($args);
基于season_number的选择有效,但我无法对它们进行排序,使用此代码wordpress根据发布时间对它们进行排序
任何人都可以帮助我吗?
答案 0 :(得分:0)
我原来的回答是不合适的,我误读了这个问题
尝试这样的事情:
$max_season=5;
$args = array(
'meta_key' => 'episode_number',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'meta_query' => array(
array(
'key' => 'season_number',
'value' => array($max_season),
'compare' => 'IN',
)
)
);
$wp_query = new WP_Query($args);
答案 1 :(得分:0)
我相信WordPress只会查询您请求的指定元数据,即key=season_number
,value=5
(季节编号)。它不会查询键episode_number
的后期元数据,因此您无法直接在SQL查询中按该字段进行排序。
您需要循环查询结果并获取key=episode_number
的每个项目的元数据并相应地填充新的排序数组,或者找出在单个查询中同时查询此元数据的方法。
对于第二个,我不知道这是如何工作的。