WordPress 从搜索中排除自定义帖子类型

问题描述 投票:0回答:1

以下代码可以防止我们的“项目”出现在网站搜索结果中,但它会对管理后端的各种过滤造成意想不到的后果。有什么办法可以让功能只包含在前端搜索吗?

function ss_search_filter( $query ) {

if ( $query->is_admin() ) :
    return $query;
endif;


if ( $query->is_search() && $query->is_main_query() ) {
    // set the post type to only post types you want returned.
    $query->set( 'post_type', ['page', 'post', 'product'] );
}


return $query;
}
add_action( 'pre_get_posts', 'ss_search_filter' );
php wordpress
1个回答
0
投票

$query->is_admin()
可能不正确。尝试将其更改为
is_admin()

补充说明:

pre_get_posts
是一个动作,而不是一个过滤器,所以返回变量是不正确的。

© www.soinside.com 2019 - 2024. All rights reserved.