在自定义作者页面上添加分页

时间:2011-05-17 作者:Ven

我创建了一个自定义作者页面,其中列出了他们的帖子标题。但问题是,如果分页超出了设置的每页帖子值,我就无法让它工作。我已经将get\\u posts()用于它的自定义循环。

<?php 
                    $ppp = 5; //set my custom number of post to appear
                    $uid = $curauth->ID;
                    $args = array(
                                    \'numberposts\' => $ppp,
                                    \'author\' => $uid

                                );
                    $authorposts = get_posts($args);
                    //print_r($authorposts);
                    if ( count( $authorposts ) > 0 ) {               

                        foreach ( $authorposts as $post ):  setup_postdata($post)            ?>
                            <li>


                                <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>" class="authorpostlink"><?php the_title(); ?></a>
                                <?php the_excerpt(); ?>
                            </li>
                    <?php endforeach;  ?>
                        <div class="post-nav">
                            <div class="previous"><?php previous_posts_link(\'&lsaquo; Previous Page\') ?></div>
                            <div class="next"><?php next_posts_link(\'Next Page &rsaquo;\') ?></div>
                        </div>
                    <?php
                    } else {
                        echo \'<p>No articles by this user</p>\';
                    }       
                    ?>
这应该显示5篇文章的标题和作者的摘录,。。。。但是作者的其余帖子没有分页,它分页的是博客上的全部帖子。

1 个回复
SO网友:VicePrez

将以下代码放入functions.php 文件

function limit_posts_per_page() {
if ( is_author() ) // you can limit other pages as well ( i.e. is_archive() ), if need be.
    return 5;
}
add_filter( \'pre_option_posts_per_page\', \'limit_posts_per_page\' );
确保使用author.php 模板,否则它将无法工作。请看一下二十十author.php 获取最佳实践。

结束

相关推荐

Broken category pagination

出于某种原因,下面的代码一直工作到我到达第三页并给出404。不使用任何插件就可以修复它吗?<?php $temp = $wp_query; $wp_query = null; $wp_query = new WP_Query(\'cat=\'. $id .\'&posts_per_page=4&paged=\'.$paged); while ($wp_query->have_posts()) : $wp_query