search.phpのワードプレスで私はこれを持っています。
get_header(); ?>
...html/css
<?php if ( have_posts() ) : ?>
<?php while (have_posts()) : the_post();
...loop stuff
<?php endwhile; ?>
<?php wp_pagenavi(); ?>
<?php else : ?>
<h3><?php _e( 'Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'hartyinternational' ); ?></h3>
<div class="nothing-found"><?php get_search_form(); ?></div>
<?php endif; ?>
<?php wp_reset_query(); ?>
WP_Query
次に、ループを使用して独自のサイドバーを作成しました。
if ( have_posts() ) :
$counter = 0;
$the_query = new WP_Query( array( 'posts_per_page' => 5, 'cat' => 4 ) );
while ($the_query->have_posts() ) : $the_query->the_post();
$counter++;
if ( $counter == 1 || $counter == 3 || $counter == 5 ){
?>
<a href="<?php the_permalink(); ?>"><div class="recent-position-single"><?php the_title(); ?></div> </a>
<?php }
else {
?> <a href="<?php the_permalink(); ?>"><div class="recent-position-single darker-shade"><?php the_title(); ?></div> </a>
<?php }
endwhile;
wp_reset_query();
endif;
wp_reset_postdata(); ?>
他の同様の方法では、検索結果が見つかった場合、これらは完全に正常に機能しますが、結果が見つからない場合、ループはコンテンツの読み込みに失敗します。
ループの中にループがあるような状況ではないようです。何が間違っているのか理解できないようです。助けていただければ幸いです。