ページを検索対象に含めたくない場合

フォーラムの記事(WordPress >> フォーラム >> 投稿記事のみの検索)によれば、WP 2.5 以降、ブログの記事だけでなくページに関しても検索の対象になるように変更されたらしい。

僕の場合、ブログとはレイアウトが大幅に異なるページがあるため、これが検索結果に表示されるとおかしな画面になってしまう。

というわけで、ページを検索対象から除外するようにコードを書き換えることにした。

wp-includes/query.php の 836行目の「any」を「post」に変える。

if ( $this->is_search )
    $q['post_type'] = 'post'; //ページを検索対象に含めたくない場合、any を post に変える
else
    $q['post_type'] = 'post';
}