Php Wordpress分类列表-分页

Php Wordpress分类列表-分页,php,wordpress,function,templates,pagination,Php,Wordpress,Function,Templates,Pagination,我发现这个优秀的函数可以显示特定自定义分类下列出的所有帖子。它工作得很好。在这里,我尝试了许多想法,但都不成功,尝试对返回的数据进行分页。我要么没有数据,要么继续显示整个列表。我的一些分类法有超过10万篇相关文章。所以分页似乎是合乎逻辑的 我想做的是;让返回的信息创建“n”个帖子的页面,并为其他页面创建链接(1,2,…4,5等)。非常感谢您的帮助 我把它扔进了我的函数文件 function list_posts_by_taxonomy( $post_type, $taxonomy, $ge

我发现这个优秀的函数可以显示特定自定义分类下列出的所有帖子。它工作得很好。在这里,我尝试了许多想法,但都不成功,尝试对返回的数据进行分页。我要么没有数据,要么继续显示整个列表。我的一些分类法有超过10万篇相关文章。所以分页似乎是合乎逻辑的

我想做的是;让返回的信息创建“n”个帖子的页面,并为其他页面创建链接(1,2,…4,5等)。非常感谢您的帮助

我把它扔进了我的函数文件

   function list_posts_by_taxonomy( $post_type, $taxonomy, $get_terms_args = array(),
   $wp_query_args = array() ){
   $tax_terms = get_terms( $taxonomy, $get_terms_args );

    if( $tax_terms ){
    foreach( $tax_terms  as $tax_term ){
        $query_args = array(
            'post_type' => $post_type,
            "$taxonomy" => $tax_term->slug,
            'post_status' => 'publish',
            'posts_per_page' => -1,
            'ignore_sticky_posts' => true
        );
        $query_args = wp_parse_args( $wp_query_args, $query_args );

        $my_query = new WP_Query( $query_args );
        if( $my_query->have_posts() ) { ?>
            <h2 id="<?php echo $tax_term->slug; ?>" class="title">
            <?php echo $tax_term->name; ?></h2>

            <ul>
            <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

               <li><a href="<?php the_permalink() ?>" rel="bookmark" 
                    title="Permanent Link to <?php the_title_attribute(); ?>">
                    <?php the_title(); ?></a></li>

            <?php endwhile; ?>
            </ul>
            <?php
        }
        wp_reset_query();
    }
}
}

?>
function list\u posts\u by\u taxonomy($post\u type,$taxonomy,$get\u terms\u args=array(),
$wp\u query\u args=array()){
$tax\u terms=get\u terms($taxonomy,$get\u terms\u args);
如果($tax_条款){
foreach($tax\u术语作为$tax\u术语){
$query\u args=数组(
“post\u type”=>$post\u type,
“$taxonomy”=>$tax\u term->slug,
“发布状态”=>“发布”,
“每页帖子数”=>-1,
“忽略粘贴的帖子”=>true
);
$query\u args=wp\u parse\u args($wp\u query\u args,$query\u args);
$my\u query=新的WP\u查询($query\u args);
如果($my\u query->have\u posts()){?>

谢谢大家!

要对查询进行分页,首先必须使用
paged
参数。
要获得一些额外的信息,请查看wordpress codex

通常,分页变量如下所示:

<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
然后您必须构建分页链接(这将在循环中完成):


<?php $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; ?>
$query_args = array(
            'post_type'           => $post_type,
            "$taxonomy"           => $tax_term->slug,
            'post_status'         => 'publish',
            'posts_per_page'      => -1,
            'ignore_sticky_posts' => true
            'paged'               => $paged //I've added it here
        );
<!-- Add the pagination functions here. -->

<div class="nav-previous alignleft"><?php next_posts_link( 'Older posts' ); ?></div>
<div class="nav-next alignright"><?php previous_posts_link( 'Newer posts' ); ?></div>