0

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(); ?>

他の同様の方法では、検索結果が見つかった場合、これらは完全に正常に機能しますが、結果が見つからない場合、ループはコンテンツの読み込みに失敗します。

ループの中にループがあるような状況ではないようです。何が間違っているのか理解できないようです。助けていただければ幸いです。

4

1 に答える 1

0

if ( have_posts() ):クエリから削除したところ、問題は解決しました。

于 2013-01-14T12:47:41.697 に答える