wordpress教程:wordpress的搜索功能还是十分的强大的,不管是标题还是内容只要包含的都会在搜索结果中展现出来。
但是我们会发现,有的时候搜索某个关键词会出现一些无用的页面内容也出现,从用户体验出发,这类页面的出现并不能给用户解决问题,所以我们将需要在wordpress搜索结果中排除页面的出现,方法很简单,在wordpress主题的根目录下找到functions.php文件,将下面代码插入即可,对、是插入!
-
add_filter(‘pre_get_posts’,’wpjam_exclude_page_from_search’);
-
function wpjam_exclude_page_from_search($query) {
-
if ($query->is_search) {
-
$query->set(‘post_type’, ‘post’);
-
}
-
return $query;
-
}
当然,我们也可以将post_type设置成page,那么搜索结果中将只出现页面!!!很简单吧!
从搜索结果中排除特定文章或页面
可把下面的代码添加到主题的functions.php文件中,假设要排除ID为2和35的文章(也可以是页面,文章和页面都有唯一的ID)
-
// 搜索筛选
-
function fb_search_filter($query) {
-
if ( !$query->is_admin && $query->is_search) {
-
$query->set(‘post__not_in’, array(2, 35) ); // 文章或者页面的ID
-
}
-
return $query;
-
}
-
add_filter( ‘pre_get_posts’, ‘fb_search_filter’ );
搜索结果页中排除某些分类下的文章
在主题的functions.php中添加如下代码,即可在搜索结果中排除ID为5和8的分类下的所有文章
-
function search_filter( $query) {
-
if ( !$query->is_admin && $query->is_search) {
-
$query->set(‘cat’,’-5,-8′); // 分类的ID,前面加负号表示排除
-
}
-
return $query;
-
}
-
add_filter(‘pre_get_posts’,’search_filter’);
觉得文章有用就打赏一下文章作者
微信扫一扫打赏