0

我在尝试设置元查询时遇到问题,该查询将重新排序我的自定义帖子,以便将 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');
4

0 回答 0