WordPressの検索で投稿のみを検索対象にする

2012.08.05 WordPress
WordPressの検索で投稿のみを検索対象にする

WordPressのサイト内検索で、固定ページを除外し投稿のみを検索の対象とする方法。function.phpに下記を追加するときっと素敵なことがあなたにも!

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

WordPressにサイト内検索を設置する際、個別ページを検索対象に含みたいときってあまりないと思うので重宝しますね。Ateitexeさんありがとうございました。

またfunction.phpは基本的にPHPで書かれていますので、記述を追加する際は

<?php
// ここにソースを記述します。
?>

の間に書く必要があります。最後の?>のあとに余計な改行やスペースが入っていると不具合が出ますので注意してください。wordpressとwikiの覚書にPHPファイルの書き方について分かりやすく解説してくれてますので是非目を通して見るとよいかと思います。

それからfunction.phpだけじゃなく、WordPressのテーマを編集するときは事前にバックアップを取っておくことを忘れずに!

柴田竹思

柴田竹思

ベトナム在住Web系フリーランス。有名企業から個人事業まで、いろんなウェブサイトを制作してます。これまで400弱くらい作りました。一年中WordPressばっかりいじってます。

プロフィールはこちら