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

问题描述 投票:0回答:1

我将返回页面上的所有帖子。每六个帖子我想逐步显示特定类别的帖子。每次这个过去我想在循环中递增,所以在页面上的特定类别中没有重复相同的帖子。

我已经成功地从页面上每六个帖子上显示该类别的帖子。我只是无法让循环工作,所以它逐渐显示页面上每第六个点的类别中的下一个帖子。目前它只是在数组中显示相同的第一个帖子。


    <?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();


            ?>```

php wordpress increment posts
1个回答
1
投票

你可以将anther query_posts()嵌入第一个并使用WP_Query跳过你已经输出的帖子,而不是使用offset parameter。我没有测试过这段代码,但以下内容可能有效:

$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;

}

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

值得注意的是,使用offset可以mess up your pagination。我不认为这会在这里发挥作用,但如果你注意到可能是罪魁祸首的分页问题。

© www.soinside.com 2019 - 2024. All rights reserved.