如何增加特定类别中的帖子

时间:2019-04-15 14:35:18

标签: php wordpress increment posts

我将返回页面上的所有帖子。我想每六个帖子逐步显示一个特定类别的帖子。每当这种情况通过时,我都希望在循环中增加,以使页面上该特定类别中的同一条帖子不再重复。

我已经成功地获得了该类别的帖子,该帖子显示在页面的每第六个帖子上。我只是无法使循环正常工作,因此它在页面的每第六个位置上逐渐显示类别中的下一个帖子。目前,它仅在数组中显示相同的第一篇文章。


    <?php while ($query->have_posts()) {

         if( $query -> post_count > 0 ) {

                 $postnum = 0;

         foreach( $query -> posts as $post ) {

                  $postnum++;

                  if( $postnum%5 == 0 ) {

                    $args = array( 'cat' => 1824, 'posts_per_page' => 1, );
                    query_posts( $args );
                    $current_post = 0;
                    while ( have_posts() ) : the_post();
                        $current_post++;

                        echo "CTA Card Specific Info";
                    endwhile;

                }

                $query->the_post();


            ?>```

1 个答案:

答案 0 :(得分:1)

您可以将花药installer.setDefaultPageVisible(QInstaller.TargetDirectory, false); installer.addWizardPage(component, "TargetWidget", QInstaller.TargetDirectory); 嵌套在第一个中,而不必使用query_posts(),而使用offset parameter可以跳过已经输出的帖子。我尚未测试此代码,但是类似以下内容的代码可能起作用:

WP_Query

完成内部循环后,请确保调用reset_postdata()以将查询的上下文更改回主查询。

还值得注意的是,使用$post_count = 0; $category_count = 0; // for determining offset $args = array( 'post_type' => 'post', 'posts_per_page' => -1, 'category__not_in' => 1824, // or something like this to prevent duplicates ); $post_query = new WP_Query ( $args ); if ( $post_query->have_posts() ) { while ( $post_query->have_posts() ) : $post_query->the_post(); $post_count++; echo "Regular Post Here"; if ( $post_count % 6 === 0 ) { $args = array( 'cat' => 1824, 'posts_per_page' => 1, 'offset' => $category_count, ); $category_query = new WP_Query( $args ); $category_count++; if ( $category_query->have_posts() ) { while ( $category_query->have_posts() ) : $category_query->the_post(); echo "CTA Card Specific Info"; endwhile; $post_query->reset_postdata(); } } endwhile; } 可以mess up your pagination。我认为这不会在这里发挥作用,但是如果您发现分页问题可能是罪魁祸首。