0

前回チェックしたとき、すべての投稿を表示するループを作成する方法を知っていました。

if (have_posts()){
    while (have_posts()): the_post();
    ?>
    <div clas="span6">
        <h3><a href="<?php echo the_permalink(); ?>"><?php echo the_title(); ?></a></h3>
        <p><?php echo the_excerpt(); ?></p>
    </div>
    <?php
    endwhile;
}

私は問題に遭遇しました:

次の投稿がある場合:

Post1、Post2、Post3

投稿1〜2がリストに表示されます。これは、新しい投稿(投稿4)を作成して公開するまで、投稿3がそのリストに表示されます。

だから私のループはどうしたの?

これまでこの問題が発生したことはありません。

注: WordPress3.5が使用されています。

私はWordPressDocsをチェックして、自分が正しいことをしていることを確認しました。

4

2 に答える 2

0

以下のように使用できます。これは主にワードプレスで使用されます。

if (have_posts()) :  // your code if (have_posts()){
   while (have_posts()): the_post();
   ?>
   <div clas="span6">
      <h3><a href="<?php echo the_permalink(); ?>"><?php echo the_title(); ?></a></h3>
      <p><?php echo the_excerpt(); ?></p>
   </div>
   <?php
   endwhile;
endif; //your code here }

それがうまくいくことを願っています。

于 2012-12-14T18:59:56.053 に答える
0

問題を引き起こしている可能性のあることがいくつかあります。まず、不要なセット{ }があります。ループへのオープンは次のようになります。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

それ以外の:

<?php if (have_posts()){ while (have_posts()): the_post(); ?>

ループ内の中かっこが表示されますか?

次に、McNabが言ったように、「s」を追加してdivクラスを修正し、echoコンテンツプラーからfromを削除します。

endif;また、の後にを含める必要がありますendwhile;

したがって、完全なループは次のようにループする必要があります。

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <div class="span6">
        <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
        <p><?php the_excerpt(); ?></p>
    </div>

<?php endwhile; endif; ?>

私はこれがあなたの問題を修正するはずだと思います。

于 2012-12-14T19:08:33.517 に答える