WordPress教程

WordPress 搜索特定分类内容或者排除特定文章、页面和分类

阿里云

WordPress 默认的搜索机制得出的结果页面包含站内的页面、文章等。最近在制作一个网站的时候客户要求排除某个分类的搜索结果显示,这样就要求对搜索结果页呈现的内容做一些控制,排除我不希望被读者搜索到的内容。

站在效率的角度,我不太喜欢重复去制造轮子,就网寻了一些代码,本文纯属是给自己的备忘录。

也想出现在这里?联系我们
创客主机

排除特定 ID 的文章或者页面

  1. //搜索结果排除特定 ID 的文章或页面
  2. function Bing_search_filter_id($query) {
  3.     if ( !$query->is_admin && $query->is_search) {
  4.         $query->set('post__not_in', array(13,14));//需要排除的文章、页面 ID
  5.     }
  6.     return $query;
  7. }
  8. add_filter('pre_get_posts','Bing_search_filter_id');

排除特定分类下所有文章

  1. //搜索结果排除特定分类下所有文章
  2. function Bing_search_filter_category( $query) {
  3.     if ( !$query->is_admin && $query->is_search) {
  4.         $query->set('cat','-11,-13'); //分类的 ID,加负号表示排除;直接写ID,则表示只在该 ID 中搜索
  5.     }
  6.     return $query;
  7. }
  8. add_filter('pre_get_posts','Bing_search_filter_category');

搜索结果排除所有页面

  1. //搜索结果排除所有页面
  2. function search_filter_page($query) {
  3.     if ($query->is_search) {
  4.         $query->set('post_type', 'post');
  5.     }
  6.     return $query;
  7. }
  8. add_filter('pre_get_posts','search_filter_page');

WordPress 搜索特定分类内容或者排除特定文章、页面和分类

已有 334 人购买
查看演示升级 VIP立刻购买

收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!