Blog

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

2012.08.05 2017.03.23WordPress

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のテーマを編集するときは事前にバックアップを取っておくことを忘れずに!

Author: 柴田竹思

ベトナムと日本のに拠点生活Webディベロッパー。国内外のSOHO/フリーランスの方のウェブサイト制作から企業の大規模案件まで幅広く携わっています。