WordPress 搜索结果中排除特定的页面、文章和分类

阿里云服务器

要在WordPress搜索结果中排除特定的页面、文章和分类,你可以使用以下方法之一:

方法一:使用自定义查询(Custom Query)

1. 登录到你的WordPress后台管理仪表盘。

2. 导航到“外观”(Appearance)选项卡,然后选择“自定义”(Customize)。

3. 在自定义面板中,选择“高级”(Advanced)选项卡。

4. 在“自定义查询”(Custom Query)文本框中,输入你的自定义查询语句。


要排除特定的页面,可以使用以下代码:

```php

$args = array(

    'post__not_in' => array(ID1, ID2, ...),

);

```

将`ID1`、`ID2`等替换为要排除的页面的实际ID。


要排除特定的文章类别,可以使用以下代码:

```php

$args = array(

    'category__not_in' => array(CAT1, CAT2, ...),

);

```

将`CAT1`、`CAT2`等替换为要排除的文章类别的ID。

5. 点击“保存更改”(Save Changes)按钮保存更改。


方法二:使用`pre_get_posts`过滤器


1. 登录到你的WordPress后台管理仪表盘。

2. 导航到“插件”(Plugins)选项卡,然后选择“编辑插件”(Edit Plugins)。

3. 在插件列表中找到并编辑你想要排除特定页面、文章或分类的插件(如果适用)。

4. 在插件代码中添加以下代码:

```php

function exclude_posts_from_search($query) {

    if ($query->is_search) {

        $query->set('post__not_in', array(ID1, ID2, ...)); // 用要排除的页面、文章或分类的ID替换ID1、ID2等

        return $query;

    }

}

add_filter('pre_get_posts', 'exclude_posts_from_search');

```

将`ID1`、`ID2`等替换为要排除的页面、文章或分类的ID。

5. 保存插件代码并重新加载插件列表。

6. 点击“激活”(Activate)按钮激活插件(如果需要)。

7. 保存更改并返回到WordPress后台管理仪表盘。