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

Web制作
2012.08.05
2026.08.20

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

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

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

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

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

の間に書く必要があります。最後の?>のあとに余計な改行やスペースが入っていると不具合が出ますので注意してください。

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

この記事を書いた人
柴田 竹思

Webクリエイター/Web制作スタジオBamboo Works代表。日本縦断やカナダでの音楽活動、西アフリカの小学校支援を経てWeb制作へ。制作会社、大手アパレル、官公庁案件などを経験し、現在は中小企業・個人事業主のWeb運用を支援。「まず聞く」を大切に、その会社ならではの価値を掘り起こし、“もう一人のあなた”となるWebサイト制作を得意とする。