カスタム投稿タイプと通常の投稿タイプで検索結果を振り分けたい
-
こんばんは。
色々調べて試してみても、どうしても出来なかったので、大変恐縮ですが、どなたかお力をかして頂けますと幸いに存じます。【やりたいこと】
新着情報一覧(カスタム投稿タイプ)とブログ一覧(通常の投稿タイプ)でそれぞれ検索フォームを使用したいのですが、各検索フォームごとに検索対象を別けたいです。【現状】
1)新着情報はカスタム投稿タイプで管理、ブログは通常の投稿タイプで管理しています。
2)カスタム投稿タイプはプラグインは使用しておりません。
3)カスタム投稿タイプは検索にかかるように設定しています。
4)テーマは10daysを使用しています。【今までやったこと。】
1)functions.phpにsearch.php振り分けのコードを記入
こちらのフォーラムに書いてありましたが、下記コードをfunctions.phpに書きました。
https://ja.forums.wordpress.org/topic/13350?replies=8// テンプレート読み込みフィルターをカスタマイズ add_filter('template_include','custom_search_template'); function custom_search_template($template){ // 検索結果の時 if ( is_search() ) { // 表示する投稿タイプを取得 $post_types = get_query_var('post_type'); // search-{$post_type}.php の読み込みルールを追加 foreach ( (array) $post_types as $post_type ) $templates[] = "search-{$post_type}.php"; $templates[] = 'search.php'; $template = get_query_template('search',$templates); } return $template; }2)search.php と search-news.phpを作成
3)検索フォームのコードをnews-page.phpに記入
検索フォームのコードは下記を使っています。
news-page.phpは、新着情報一覧を表示する固定ページテンプレートです。<div id="search-box"> <form method="get" action="<?php bloginfo('url') ;?>"> <input type="text" name="s" id="s" /> <input id="submit" type="submit" value="検索"/> </form> </div>【私なりの考察】
よく分からないなりに色々考えたのですが、
上記検索フォームのコードを記入していますが、そもそも検索ボタンを押した後に、search-news.phpとsearch.phpのどちらを読込むかを判定する材料が取得できていないのかなとも思いました。
新着情報のページから検索ボタンが押されたのかがしっかり判定されていないのかと。。全く無知で大変申し訳ありませんが、どなたかご教示頂けますと幸いです。
どうぞよろしくお願い致します。
トピック「カスタム投稿タイプと通常の投稿タイプで検索結果を振り分けたい」には新たに返信することはできません。