生命不息,奋斗不止/创造价值-传递价值-获得价值
所谓迷茫,就是才华配不上梦想 每一个让你难堪的现在,都有一个不够努力的曾经

如何在WordPress搜索结果中排除特定的文章或页面

有时候我们不想让某些文章或页面(Posts or Pages)出现在WordPress的搜索结果中,本文介绍如何通过WordPress的filter将某些页面或文章从搜索结果中排除,要使用他们的ID实现。

从搜索结果中排除特定文章或页面

在主题的functions.php中添加代码,假设要排除ID为40和9的文章(也可以是页面,文章和页面都有唯一的ID)

// search filter
function fb_search_filter($query) {
if ( !$query->is_admin && $query->is_search) {
    $query->set('post__not_in', array(40, 9) ); // 文章或者页面的ID
}
    return $query;
}
add_filter( 'pre_get_posts', 'fb_search_filter' );

这样就可以排除特定的文章或页面。

从搜索结果中排除所有页面

在主题的functions.php中添加如下代码,即可在搜索结果中排除所有页面

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

从搜索结果中排除某些分类下的文章

在主题的functions.php中添加如下代码,即可在搜索结果中排除ID为1和2的分类下的所有文章

function search_filter( $query) {
if ( !$query->is_admin && $query->is_search) {
    $query->set('cat','-15,-57'); // 分类的ID,前面加负号表示排除
}
    return $query;
}
add_filter('pre_get_posts','search_filter');
赞(0)
未经允许不得转载:jack361博客 » 如何在WordPress搜索结果中排除特定的文章或页面

评论 抢沙发

评论前必须登录!

 

如果你爱我或恨我,请↓

联系我