我在尝试设置元查询时遇到问题,该查询将重新排序我的自定义帖子,以便将 meta_key 'psychic_badge' 值为 'featured' 的任何帖子移到帖子列表的前面,其余帖子如下.
这就是我所拥有的,我认为它应该可以工作,但它并没有对帖子存档的显示方式进行任何更改(特色帖子出现在最后,因为它是要创建的最旧的帖子)。
// Order any 'featured' psychics to be at the top
function pr_psychic_featured_pinned($query) {
if(!is_admin() && $query->is_post_type_archive('psychic')) {
// Get current meta query
$meta_query = $query->get('meta_query');
// If there is no meta query when this filter runs,
// it should be initialised as an empty array
if(!$meta_query) {
$meta_query = [];
}
// Append our meta query
$meta_query = [
'key' => 'psychic_featured',
'orderby' => 'meta_value',
'order' => 'DESC'
];
$query->set('meta_query', $meta_query);
}
return $query;
}
add_action('pre_get_posts', 'pr_psychic_featured_pinned');