WordPress 限制搜索结果-排除或指定特定文章、页面和分类
转自:http://www.xuxiaoke.com/wpquestion/234.html,略有删改。 此处…
转自:http://www.xuxiaoke.com/wpquestion/234.html,略有删改。
此处使用了filter: pre_get_posts , 因此,也只对使用get_posts查询文章时有效。
wordpress默认都是使用get_posts查询文章的。因此,大多时候也都是有效的,不过有些主题和插件使用了WP_Query查询文章,这时候就不灵了。
排除特定 ID 的文章或者页面
1 2 3 4 5 6 7 8 |
//搜索结果排除特定 ID 的文章或页面 function Bing_search_filter_id($query) { if ( !$query->is_admin && $query->is_search) { $query->set('post__not_in', array(13,14));//需要排除的文章、页面 ID } return $query; } add_filter('pre_get_posts','Bing_search_filter_id'); |
//搜索结果排除特定 ID 的文章或页面
function Bing_search_filter_id($query) {
if ( !$query->is_admin && $query->is_search) {
$query->set(‘post__not_in’, array(13,14));//需要排除的文章、页面 ID
}
return $query;
}
add_filter(‘pre_get_posts’,’Bing_search_filter_id’);
排除特定分类下所有文章
1 2 3 4 5 6 7 8 |
//搜索结果排除特定分类下所有文章 function Bing_search_filter_category( $query) { if ( !$query->is_admin && $query->is_search) { $query->set('cat','-11,-13'); //分类的 ID,加负号表示排除;直接写ID,则表示只在该 ID 中搜索 } return $query; } add_filter('pre_get_posts','Bing_search_filter_category'); |
//搜索结果排除特定分类下所有文章
function Bing_search_filter_category( $query) {
if ( !$query->is_admin && $query->is_search) {
$query->set(‘cat’,’-11,-13′); //分类的 ID,加负号表示排除;直接写ID,则表示只在该 ID 中搜索
}
return $query;
}
add_filter(‘pre_get_posts’,’Bing_search_filter_category’);
搜索结果排除所有页面
1 2 3 4 5 6 7 8 |
//搜索结果排除所有页面 function search_filter_page($query) { if ($query->is_search) { $query->set('post_type', 'post'); } return $query; } add_filter('pre_get_posts','search_filter_page'); |
//搜索结果排除所有页面
function search_filter_page($query) {
if ($query->is_search) {
$query->set(‘post_type’, ‘post’);
}
return $query;
}
add_filter(‘pre_get_posts’,’search_filter_page’);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!