在作者档案中按作者列出所有帖子

时间:2011-09-18 作者:Thrillho

我在设置作者档案时遇到问题。我提出了一些不同的循环,但我似乎不能完全正确地得到它们。我只想让它列出当前作者的所有帖子。

这将显示当前作者的帖子,但是only 10 posts (我猜是我的默认数字):

<ul>
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
        <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
    <?php endif; ?>
</ul>
这一个列出了所有作者的帖子。

<?php global $post;
    $args = array(\'numberposts\' => -1);
    $custom_posts = get_posts($args);
    foreach($custom_posts as $post) : setup_postdata($post); ?>
        <li <?php post_class($custom_classes) ?> id="post-<?php the_ID(); ?>" role="article"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></li>
<?php endforeach;?>
这似乎并不难。我可能错过了一些明显的东西。似乎我需要将作者放入一个变量并传递它,但我认为这是作者档案中假设的。我的尝试没有成功。

1 个回复
SO网友:Joost de Valk

你的get_posts 覆盖法线query_posts 查询要使其正常工作,您应该使用query_posts 并将numberposts设置与原始查询合并,如下所示:

global $wp_query;
$args = array_merge( $wp_query->query, array( \'numberposts\' => -1 ) );
query_posts( $args );
然后您也不再需要自定义循环,您可以使用普通循环。

结束