ワードプレスのキーワード検索にカスタム投稿タイプを含まない方法

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

WPホームページ研究所運営サポートチーム監修のオムスビ(@OMUSUVIcom)です。

ブログを運営していると「検索結果画面」を投稿のみに絞り込みたい場面があります。公開している固定ページ自体が少なかったり記事メインのコンテンツであれば投稿以外の優先度は下げておきたいですよね。

下記で設定方法をご紹介いたします。

ワードプレスのキーワード検索にカスタム投稿タイプを含まない方法

設定方法はいくつかあるのでそれぞれを解説させていただきますね。

1. 投稿のみに絞る方法

仮にキーワード検索の結果画面から固定ページやカスタム投稿タイプを省くなら投稿だけ指定すればOKです。

//検索結果を投稿のみに絞る
function search_result_filter_only_post($query) {
	if ($query->is_search) {
		$query->set('post_type', 'post');
	}
	return $query;
}
add_filter('pre_get_posts','search_result_filter_only_post');

2. 投稿と固定ページに絞る方法

もし投稿と固定ページに絞る場合は配列でセット。

//検索結果を投稿と固定ページに絞る
function search_result_filter_post_and_page($query) {
	if ($query->is_search) {
		$query->set('post_type', array('post', 'page'));
	}
	return $query;
}
add_filter('pre_get_posts','search_result_filter_post_and_page');

3. 投稿と固定ページと特定のカスタム投稿タイプに絞る方法

同じ書き方でカスタム投稿タイプも指定できます。カスタム投稿タイプは色々な名前があるので「custom」はサンプル例として実際の運用状況に合わせて記述を変更して使ってくださいね。

//検索結果を投稿と固定ページとカスタム投稿タイプに絞る
function search_result_filter_post_page_custom_post_type($query) {
	if ($query->is_search) {
		$query->set('post_type', array('post', 'page', 'custom'));
	}
	return $query;
}
add_filter('pre_get_posts','search_result_filter_post_page_custom_post_type');

まとめ

本日は「検索結果に表示するページを指定する方法」をご紹介いたしました。

検索結果に使う「is_search」以外にも投稿一覧で使う「is_archive」があったり状況に応じてクエリーをセットしなおせばワードプレスのテンプレート側に表示させる内容をコントロールすることが可能です。

上記は一例となりますがご希望に合わせてさまざまな出し方にご活用くださいませ。

最新式の無料プラグインを事前公開

WordPressは公式サイトに登録済みのプラグインだけで全機能を補足しきれません。当サイトでは使いやすさを追求した魅惑的なプラグインを無料でダウンロードいただけます。運営ホームページのマーケティング力をさらに高めるチャンスです。まずは無料でDLしてお試しくださいませ。
改良されたプラグインを確認する

ワードプレス専門家に丸投げする

WPホームページ研究所はワードプレスを中心としたブログ作成・ホームページ制作・オウンドメディア構築・プラグイン設定・調整など幅広いカスタマイズに対応しております。 記事の掲載情報だけでなくお好みの機能をいただければ専属スタッフが心を込めて真摯に対応させていただきます。お気軽にお問い合わせください。

お問い合わせの種類をお選びください(もっとも近い項目)

法人の場合は法人名とご担当者のお名前をご入力ください

返信時のご連絡に利用するメールアドレスをご入力ください

運営中のウェブサイトURLがあればご入力ください

お困りの内容があれば詳しい内容をお聞かせください