我如何才能调用每个类别中的文章并仍然正确地分页?

时间:2010-10-06 作者:Mild Fuzz

我想让我的头版有三个栏目,每个栏目分配到不同的类别。理想情况下,我希望查询以获取一篇文章,每一列,每一页,如果可能的话,保留该列为空。

我当前的循环一次只得到3个帖子。可以合理地假设,3将不是每个类别中的一个。

以下是循环:

<?php

            global $query_string;
            parse_str( $query_string, $my_query_array );
            $paged = ( isset( $my_query_array[\'paged\'] ) && !empty( $my_query_array[\'paged\'] ) ) ? $my_query_array[\'paged\'] : 1;
            query_posts(\'post_type=post&posts_per_page=3&paged=\'.$paged);


            if ( have_posts() ) : while ( have_posts() ) : the_post();

            $category = choose_one_category(get_the_category());

            switch ($category){
                case "Festival News":
                    $left[] = $post;
                    break;
                case "Industry News":
                    $centre[] = $post;
                    break;
                case "Other":
                    $right[] = $post;
                    break;
            }


            endwhile; 
            ?>
            <div class="custom-pagination">

            <div ><?php previous_posts_link(\'&laquo; Previous\') ?></div>

            <div ><?php next_posts_link(\'Next &raquo;\') ?></div>
            </div>
            <?php endif;



            ?>

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

我的建议是对每一列使用单独的查询-每个类别获得一个帖子-并通过全球$paged 每个变量。这应该展现出你在问题中描述的行为(至少在我的网站上是这样)。

我的设置

我有一个顶部部分,其中显示了;“特色”;类别,如果您仅在第1页。然后,我有一个侧栏,显示3个主要类别中每个类别的第一页帖子,每个类别都使用自己的查询posts_per_page=1. 然后我有一个主要部分,通常显示所有帖子,每个页面上有5篇帖子。

第一个页面以一个滑块返回我的特色帖子,它下面的常规帖子部分,以及侧边栏中我的三个核心类别中的第一篇帖子。第2页隐藏了;“特色”;滑块,返回主要部分中接下来的5篇文章,以及每个核心类别中的第二篇文章。第3页及以后的内容也一样。

因此,您需要的不是3个类别上的一个循环,而是单个类别上的3个循环,每个循环使用全局$paged 变量

结束

相关推荐

WordPress删除wp_List_Categories中最后一项的分隔符

我正在尝试删除最后一个分隔符(通常是<br/> 标记,但我将其从wp\\u list\\u categories的最后一个链接更改为“/”)。基本上我想要这个:类别1//类别2//类别3//看起来像这样:类别1//类别2//类别3以下是我当前使用的代码:<?php $cat_array = array(); $args = array( \'author\' => get_the_author_meta(\'id\'),&#x