运行WordPress循环后对其进行修改

时间:2015-06-01 作者:Keenan Payne

我正在尝试构建一个显示8 posts 从类别中,但当用户单击“Read More”(这会发出Ajax请求并显示更多帖子)时,我希望循环随后显示9 posts.

这是我当前的代码:

  <?php
      // Variables
      $posts_per_page = 8;
      $loopCount;

      // Loop arguments
      $args = array(
        \'post_type\'      => \'post\',
        \'posts_per_page\' => $posts_per_page,
        \'paged\'          => (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1
      );

      // The Loop
      query_posts($args);
      while ( have_posts() ) : the_post();
    ?>

      <?php get_template_part( \'content\', get_post_format() ); ?>
    <?php $loopCount++; ?>

    <?php
      if ($loopCount == 8) {
        $posts_per_page = 9;
      }
    ?>

    <?php endwhile; ?>
代码运行正常,但在加载页面和单击“阅读更多”按钮时,仍会显示8篇文章。

在循环显示8个帖子后,如何修改循环以显示9个帖子?

1 个回复
SO网友:Tom J Nowell

首先:

始终缩进您的代码,您的代码编辑器应该自动执行此操作,如果没有,您应该更改,我可以推荐Sublime Text作为一个免费选项,但还有数百个其他的PHP标记,请不要垃圾邮件,<?php echo \'you\'; ?><?php echo \' dont \'; ?><?php echo \'need \';?><?php echo \'this\'; ?>, 什么时候<?php echo \'you can just open tags once and close them when your done?\';?>

  • Never 使用query_posts. 如果我是你的雇主,我会因为这样的事解雇你。无论是谁教你使用它,他们都对你造成了伤害。要在WordPress中获取帖子,请使用WP_Queryget_posts, 要修改查询,请使用pre_get_posts 滤器记得打电话wp_reset_postdata 之后要清理,请选择一种风格并坚持下去,您可以if() {}if(): endif;, 不要混用这两种类型,这只会让生活变得困难,你的代码也很难阅读。至于你的问题,只需打印9篇文章。将第9篇文章包装在默认隐藏的div中,并在按下按钮时使用javascript切换其可见性。

  • 结束

    相关推荐

    Display Count of posts

    我正在尝试创建一个计数器,该计数器将显示一个类别页面的页码,后跟页面计数,其中每页有一篇文章。例如,如果一个类别中有10个职位:1/10, 2/10, 等等。我能够使用@PieterGoosen提供的代码显示页码(How to use global post counter in the loop?) 但我很难弄清楚如何显示页数。