web-dev-qa-db-ja.com

検索結果がない場合は、代替検索クエリからの投稿を表示

検索結果が空になったときに「すみません、投稿が見つかりません」と出力する、かなり標準的なループがあります。

if ( have_posts() ) : while ( have_posts() ) : the_post();
    get_template_part ( 'templates/post', 'main' );
endwhile; else:
    echo 'Sorry, No Posts Found';
endif; 

そのメッセージの下に別の投稿を表示するにはどうすればよいですか。

したがって、誰かが "Tacos"を検索しても投稿が見つからない場合、結果ページに次のように表示されます。

申し訳ありません、投稿は見つかりませんでした。しかし、これはピザに関するいくつかの投稿です...

2
Rich

これまで見たことは一度もありませんが、PHP IF/ELSEのロジックは、単にELSE:の後に新しいクエリをプラグインできることを意味するはずです。

if ( have_posts() ) : while ( have_posts() ) : the_post();
    get_template_part ( 'templates/post', 'main' );
    endwhile; 
else:
    $the_query = new WP_Query( $args );
    if ( $the_query->have_posts() ) : 
        while ( $the_query->have_posts() ) : 
           $the_query->the_post();
        endwhile;
    endif;

endif;

これは私の側ではテストされていません。

6
jdm2112