通过自定义查询排除不起作用的特色帖子

时间:2019-12-23 05:48:18

标签: wordpress wordpress-theming

我正在尝试从查询中排除帖子,但它根本不起作用。

这是我尝试过的

 <?php
                                    $args = array(
                                        'post_type' => 'videos-presentations',
                                        'post_status' => 'publish',
                                        'posts_per_page' => 4,
                                        'paged' => $paged,
                                        'meta_query' => array(
                                            array(
                                                'meta_key' => '_is_ns_featured_post',
                                                'meta_value' => 'yes',
                                                'meta_compare' => '!='
                                            )
                                        )
                                    );
                                    $my_query = new WP_Query($args);
                                    ?>

也尝试过

'meta_compare' => 'NOT EXIST'

 'meta_compare' => 'NOT IN'

知道我在做什么错吗?

2 个答案:

答案 0 :(得分:0)

知道了。来自here

它仅适用于

'meta_query' => array(
                         array(
                                 'key' => '_is_ns_featured_post',
                                 'compare' => 'NOT EXISTS'
                              ) 
                     )

答案 1 :(得分:0)

function exclude_posts ( $query ) {
    $meta_query = $query->get( 'meta_query' );

    $meta_query[] = array(
                        'key'=>'_is_ns_featured_post',
                        'value'=>'yes',
                        'compare'=>'!=',
                    );
    $query->set( 'meta_query',$meta_query );
}

add_action( 'pre_get_posts', 'exclude_posts' );

将此代码放置在活动主题的functions.php文件中