• 解決済 H9

    (@harle9uin)


    お分かりになる方がいらっしゃいましたら、ご教授お願い致します。

    ウィジェットなどの検索とは別に、custom fields searchで検索した際のみ、search.phpではなく、別のテンプレート!?にて検索結果を表示したいのですが、可能でしょうか?

    get_template_part(めちゃめちゃ見当違いでしたが…)など色々と試してみましたが、どうもうまくいきませんでした。

    知恵を貸していただけると助かります。
    よろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • search.php内で、get_template_part()で読み込むテンプレートを分けるといいです。
    WP Custom Fields Searchによる検索は、is_search()では偽になります。
     
    search.php

    <?php while ( have_posts() ) : the_post(); ?>
    					<?php
    					if( is_search() ) :
    						get_template_part( 'content', 'search' ); // 通常の検索結果をcontent-search.phpで表示
    					else :
    						get_template_part( 'mysearch' ); // それ以外の検索結果をmysearch.phpで表示
    					endif;
    					?>
    				<?php endwhile; ?>

     
    上記は各記事のループ’while ( have_posts() )’内で分けているので、読み込むテンプレートには各記事の表示部分だけ記述します。
    検索結果の各記事部分だけでなく、ページ全体を別にしたい場合は、search.phpには’while ( have_posts() ) ~ endwhile’を記述しないで、テンプレート分岐の処理のみ記述し、各テンプレートに’while ( have_posts() )’ループを記述します。
    get_template_part()でテンプレートを分けずに、search.php内にすべて記述してもかまいません。(テンプレートを分ける場合と同様にis_search()で判定)

    トピック投稿者 H9

    (@harle9uin)

    popupさん

    助かりました。思い通りの表示ができました♪

    ありがとうございました★

2件の返信を表示中 - 1 - 2件目 (全2件中)

トピック「custom fields searchでの検索結果をsearch.php以外にしたい」には新たに返信することはできません。