WordPressで指定したIDの投稿やページを検索対象に含めない
WordPressを使ってページとブログを両立させたい時、ブログ側の検索で、固定(と見える)ページがブログ内検索でひっかかってしまうのはなんともごにょごにょ…
で、てっとり早いのは、wp-includes/query.php の、こいつ↓
if ( !isset($q[‘post_type’]) ) {
if ( $this->is_search )
$q[‘post_type’] = ‘any’;
else
$q[‘post_type’] = ”;
}
「検索結果に全てを反映しちゃうぜ!」という意味(?)の、$q[‘post_type’] = ‘any’; 部分の、「any」を、さっくり「post」に変更
すると、
「検索結果は投稿記事の中からだけね!」にかわってくれる
んだけど、一部の投稿記事を何個かひっぱってきて、固定ページっぽく見せてる場合、そのページは結局「投稿記事の集まり」だから、個々のパーツ(投稿記事)はひろわれてしまう
プラグインの登場です↓
Search Everything
ダウンロードして、有効にして、設定して、以上!
主に、高度な設定「指定した ID の投稿やページを検索対象に含めない」とか「指定したカテゴリーを検索対象に含めない」を使用で解決!