循环不显示第二个帖子的标题和之后的帖子

时间:2019-04-02 作者:theasianbean

不知怎么的,我的代码有问题。它以前工作得很好,现在Wordpress似乎没有显示第二篇博文的标题(只有第一篇博文看起来工作得很好,而其余的都搞砸了)。

我不知道这是我的代码中的错误,还是Wordpress本身的问题。

我自己无法修复它,迫切需要帮助,否则我必须重新开始代码。

这是我的索引。php文件:

  <div class="row">
    <div class="column left">
      <div class="inside-container">
        this is the index.php where all the blog posts go
        <p></p>

        <?php while(have_posts()) {
              the_post(); ?>
              <h2 class="date_and_time"><?php the_time(\'F jS, Y\'); ?></h2>
                  <?php the_post(); ?>
              <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
                  <?php the_content(); ?>
              <div class="blog-post"></div>
          <?php } ?>


        <div class="pagination">
            <div style="float: left">
              <?php previous_posts_link(\'<div class="arrowleft"></div> newer posts\'); ?>
            </div>
            <div style="float: right">
              <?php next_posts_link(\'<div class="arrowright"></div>older posts\'); ?>
            </div>
        </div>
      </div>
    </div>
    <div class="column right">
      <div class="inside-sidebar">
          <?php get_sidebar(); ?>
      </div>
    </div>
  </div>
</div>
和我的CSS文件:

/* CONTAINER  blog posts and sidebar*/
.column {
  float: left;
  width: 100%
  background-color: #ddd;
}

.left {
  width: 65%;
  padding-bottom: 40px;
  background-color: #EFEFEF;
}

.right {
  width: 35%;
  padding-bottom: 20px;
  background-color: #E7E7E7;
}

.row:after {
  content: "";
  display: table;
  clear: both;
}


/* BLOG POST CONTAINER */
.inside-container {
  padding: 0px 40px 0px 0px;
}


/* SIDEBAR CONTAINER */
.inside-sidebar {
  padding: 0px 0px 0px 40px;
}


/* BLOG POST DATE */
h2.date_and_time {
  overflow: hidden;
  font-family: sans-serif;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  text-align: center;
  font-weight: normal;
}

h2.date_and_time::before,
h2.date_and_time::after {
  content: "";
  display: inline-block;
  height: 1px;
  position: relative;
  vertical-align: middle;
  width: 50%;
    background: #000;
}

h2.date_and_time:before {
  right: 1em;
  margin-left: -50%;
}

h2.date_and_time:after {
  left: 1em;
  margin-right: -50%;
}


/* BLOG POST TITLE */
h3 {
  font-family: serif;
  font-size: 25px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-align: center;
  font-weight: normal;
}


/* BLOG POSTS */
.blog-post {
  padding-bottom: 40px;
}
我真的不知道出了什么问题,我再也看不见森林了。此外,这是我第一次使用。php和Wordpress。

1 个回复
最合适的回答,由SO网友:jdm2112 整理而成

为索引发布的代码。php文件包含错误。WordPress功能the_post() 在每次迭代中调用两次。由于此函数迭代post索引并为每个post设置条件,因此调用此函数两次可能是导致问题的原因。

删除的第二个实例the_post() 在H2之后立即。

<?php while(have_posts()) {
    the_post(); ?>
    <h2 class="date_and_time"><?php the_time(\'F jS, Y\'); ?></h2>
    <?php the_post(); // REMOVE this line ?>
    <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>

https://developer.wordpress.org/reference/functions/the_post/

相关推荐

返回LOAD_POSTS_BY_AJAX中的条件类别

我创建了一个返回最后三篇文章的短代码,并设置了一个属性,允许我根据所处的页面选择类别。function return_actu_home($atts) { ob_start(); extract( shortcode_atts( array( \'category\' => \'\' ), $atts ) ); $args = array( \'post_type\' =>