Wordpress帖子显示相同的内容

时间:2018-04-09 02:46:19

标签: php wordpress

我有一个简单的自定义页面模板,其中包含一个简单的循环,显示指向相同类别ID = 11的帖子的链接。 但问题是,虽然链接工作正常,但所有帖子都显示相同的内容(第一篇文章的内容)。我无法解释为什么会这样。任何帮助都会非常感谢,谢谢。

这是自定义页面模板上的循环

  <?php 
          $args = array('cat' => 11);
          $category_posts = new WP_Query($args);

          if($category_posts->have_posts()) : 
          while($category_posts->have_posts()) : 
          $category_posts->the_post();
        ?>

        <a href="<?php the_permalink() ?>"><?php the_title(); ?></a>

        <?php
          endwhile;
          else: 
          // no posts.
          endif;
        ?>

这就是我在single.php上的内容

      <h1><?php the_title(); ?></h1>
      <?php the_content(); ?>

4 个答案:

答案 0 :(得分:0)

在执行任何其他操作之前,您应该在single.php中调用the_post()。

试试这个:

<?php the_post(); ?>
<h1><?php the_title(); ?></h1>
<?php the_content(); ?>

保留其他代码。它看起来应该按预期工作。

答案 1 :(得分:0)

通过一些试验和错误解决了问题。我在侧边栏中有一个帖子标题列表,需要使用wp_reset_query。

答案 2 :(得分:0)

在single.php中使用以下代码获取内容和标题。

while ( have_posts() ) : the_post();

    the_title();    // For post title
    the_content();  //For post content

endwhile;

答案 3 :(得分:0)

在你的自定义页面中使用它,我使用了wp_reset_postdata();

<?php 
      $args = array('cat' => 11);
      $category_posts = new WP_Query($args);

      if($category_posts->have_posts()) : 
      while($category_posts->have_posts()) : 
      $category_posts->the_post();
    ?>

    <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>

    <?php
      endwhile;
     wp_reset_postdata();
      else: 
      // no posts.
      endif;
    ?>

在single.php上使用此

<?php

while(have_posts()):the_post();

the_title();    // For post title
the_content();  //For post content

ENDWHILE; ?&GT;