如何从Wordpress搜索结果中排除特定页面

如何从Wordpress搜索结果中排除特定页面,wordpress,Wordpress,我有一些网页,我不希望它被包括在任何人在我的网站搜索。我试图将下面的代码添加到function.php中,但没有成功 add_filter( 'pre_get_posts', 'exclude_pages_search_when_logged_in' ); function exclude_pages_search_when_logged_in($query) { if ( $query->is_search && is_user_logged_in() )

我有一些网页,我不希望它被包括在任何人在我的网站搜索。我试图将下面的代码添加到function.php中,但没有成功

    add_filter( 'pre_get_posts', 'exclude_pages_search_when_logged_in' );
function exclude_pages_search_when_logged_in($query) {
    if ( $query->is_search && is_user_logged_in() )
        $query->set( 'post__not_in', array( 6410, 1684, 6385, 278, 6390, 865 ) ); 

    return $query;
}

如何从搜索结果中排除某些页面?

add\u action
是用来创建触发器“钩子”——当发生某件事时,执行其他操作。
add_filter
用于“钩住”数据更改/替换。请使用下面的代码

add_action( 'pre_get_posts', 'my_search_exclude_filter' );
function my_search_exclude_filter( $query ) {
  if ( ! $query->is_admin && $query->is_search && $query->is_main_query() ) {
    $query->set( 'post__not_in', array( 9564, 1213  ) );
  }
}

我还介绍了其他解决方案是我的博客帖子

添加动作
是用来创建触发器“钩子”——当发生什么事情时,做其他事情。
add_filter
用于“钩住”数据更改/替换。请使用下面的代码

add_action( 'pre_get_posts', 'my_search_exclude_filter' );
function my_search_exclude_filter( $query ) {
  if ( ! $query->is_admin && $query->is_search && $query->is_main_query() ) {
    $query->set( 'post__not_in', array( 9564, 1213  ) );
  }
}

我还介绍了其他解决方案是我的博客帖子

,只是想确定一下,是否只对登录用户隐藏页面?问题是,如果“任何人”进行搜索,你不想包括这一点。如果您未登录并测试该功能,这可能是一个问题。我想从任何可能使搜索仅限于未登录用户的人中排除此页面remove
&&is\u user\u logged\u in()
如果您想为每个人排除这些页面,请从
if
构造。您是否在没有
if
中的
is\u user\u logged\u
子句的情况下尝试了该方法?这可能是所有的错误。请确定,是否只对登录用户隐藏页面?问题是,如果“任何人”进行搜索,你不想包括这一点。如果您未登录并测试该功能,这可能是一个问题。我想从任何可能使搜索仅限于未登录用户的人中排除此页面remove
&&is\u user\u logged\u in()
如果您想为每个人排除这些页面,请从
if
构造。您是否在没有
if
中的
is\u user\u logged\u
子句的情况下尝试了该方法?这可能就是所有的错误。