根据带有”NOT EXISTS”的meta_query从搜索结果中排除post不再起作用

我已经在帖子和页面中注册了带有复选框的元框, 以防止该帖子/页面显示在搜索结果中。一旦用户选中该复选框并点击” 保存/更新帖子” , 一个名为_dont_show_in_search_results的元键(值POST_ID)将被保存到与该帖子关联的数据库中。
在pre_get_posts动作中, 我正在执行以下操作:

function exclude_posts_from_search( $query ){ if($query-> is_main_query() & & is_search() ){ $query-> set('meta_query', array(array("key"=> "_dont_show_in_search_results", "compare"=> "NOT EXISTS"))); } }add_action('pre_get_posts', 'exclude_posts_from_search');

【根据带有” NOT EXISTS” 的meta_query从搜索结果中排除post不再起作用】它过去曾经可以使用, 但是由于该查询现在在搜索页面上不显示任何结果, 因此不确定该查询发生了什么!
我正在使用的WordPress版本是5.2.3。似乎此问题在这里和这里多次被报告为bug。
如果我尝试打印查询, 则显示如下:
object(WP_Query)[566] public 'query' => array (size=1) 's' => string 'searchTerm' (length=10) public 'query_vars' => array (size=53) 's' => string 'searchTerm' (length=10) 'error' => string '' (length=0) 'm' => string '' (length=0) 'p' => int 0 'post_parent' => string '' (length=0) 'subpost' => string '' (length=0) 'subpost_id' => string '' (length=0) 'attachment' => string '' (length=0) 'attachment_id' => int 0 'name' => string '' (length=0) 'static' => string '' (length=0) 'pagename' => string '' (length=0) 'page_id' => int 0 'second' => string '' (length=0) 'minute' => string '' (length=0) 'hour' => string '' (length=0) 'day' => int 0 'monthnum' => int 0 'year' => int 0 'w' => int 0 'category_name' => string '' (length=0) 'tag' => string '' (length=0) 'cat' => string '' (length=0) 'tag_id' => string '' (length=0) 'author' => string '' (length=0) 'author_name' => string '' (length=0) 'feed' => string '' (length=0) 'tb' => string '' (length=0) 'paged' => int 0 'meta_key' => string '' (length=0) 'meta_value' => string '' (length=0) 'preview' => string '' (length=0) 'sentence' => string '' (length=0) 'title' => string '' (length=0) 'fields' => string '' (length=0) 'menu_order' => string '' (length=0) 'embed' => string '' (length=0) 'category__in' => array (size=0) empty 'category__not_in' => array (size=0) empty 'category__and' => array (size=0) empty 'post__in' => array (size=0) empty 'post__not_in' => array (size=0) empty 'post_name__in' => array (size=0) empty 'tag__in' => array (size=0) empty 'tag__not_in' => array (size=0) empty 'tag__and' => array (size=0) empty 'tag_slug__in' => array (size=0) empty 'tag_slug__and' => array (size=0) empty 'post_parent__in' => array (size=0) empty 'post_parent__not_in' => array (size=0) empty 'author__in' => array (size=0) empty 'author__not_in' => array (size=0) empty 'meta_query' => array (size=1) 0 => array (size=2) 'key' => string '_dont_show_in_search_results' (length=28) 'compare' => string 'NOT EXISTS' (length=10) public 'tax_query' => object(WP_Tax_Query)[1650] public 'queries' => array (size=0) empty public 'relation' => string 'AND' (length=3) protected 'table_aliases' => array (size=0) empty public 'queried_terms' => array (size=0) empty public 'primary_table' => null public 'primary_id_column' => null public 'meta_query' => boolean false public 'date_query' => boolean false public 'post_count' => int 0 public 'current_post' => int -1 public 'in_the_loop' => boolean false public 'comment_count' => int 0 public 'current_comment' => int -1 public 'found_posts' => int 0 public 'max_num_pages' => int 0 public 'max_num_comment_pages' => int 0 public 'is_single' => boolean false public 'is_preview' => boolean false public 'is_page' => boolean false public 'is_archive' => boolean false public 'is_date' => boolean false public 'is_year' => boolean false public 'is_month' => boolean false public 'is_day' => boolean false public 'is_time' => boolean false public 'is_author' => boolean false public 'is_category' => boolean false public 'is_tag' => boolean false public 'is_tax' => boolean false public 'is_search' => boolean true public 'is_feed' => boolean false public 'is_comment_feed' => boolean false public 'is_trackback' => boolean false public 'is_home' => boolean false public 'is_privacy_policy' => boolean false public 'is_404' => boolean false public 'is_embed' => boolean false public 'is_paged' => boolean false public 'is_admin' => boolean false public 'is_attachment' => boolean false public 'is_singular' => boolean false public 'is_robots' => boolean false public 'is_posts_page' => boolean false public 'is_post_type_archive' => boolean false private 'query_vars_hash' => string '0d61505a07baa4860f1831a27ad01416' (length=32) private 'query_vars_changed' => boolean false public 'thumbnails_cached' => boolean false private 'stopwords' => null private 'compat_fields' => array (size=2) 0 => string 'query_vars_hash' (length=15) 1 => string 'query_vars_changed' (length=18) private 'compat_methods' => array (size=2) 0 => string 'init_query_flags' (length=16) 1 => string 'parse_tax_query' (length=15)

#1这是与Cornerstone新搜索功能发生的插件冲突。

    推荐阅读