WordPress 技巧:从搜索结果中排除页面

默认情况下,WordPress 搜索结果显示发布的文章和页面,如果想把页面从 WordPress 搜索结果中排除,可以在当前主题的 functions.php 文件中添加如下的函数:

add_filter('pre_get_posts', function($wp_query){
if($wp_query->is_search){
$wp_query->set('post_type', 'post');
}
return $wp_query;
});

上面的代码把搜索查询结果的 post_type 设置为 post,即为文章,当然也可以设置为 page,搜索结果只为 page,比如 WooCommerce 插件加入的 product post_type。上面的代码就会影响这些 post_type 在搜索结果中的显示,因为上面设置为搜索结果只能显示 post 这个默认的 post_type。

所以那么最好的方法是:将page的 post_type 对象的排除出搜索结果的属性设置为 true,这样就不会影响 WordPress 正常的搜索行为:

add_filter('register_post_type_args', function($args, $post_type){
iif($post_type == 'page'){
$args['exclude_from_search']	= true;
}
return $args;
}, 10, 2);
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容