列出当前类别的作者

时间:2016-03-11 作者:Morpheus

我想列出所有在当前类别中有帖子的唯一作者。

我的代码(位置:wp-content/themes/custom-theme/category.php)

<div class="container">
    <div class="row">

      <?php if ( have_posts() ) : ?>

        <?php while( have_posts() ) : the_author(); ?>

            <div class="col-md-2 text-center">
                <?php the_author_meta( \'display_name\', 30 ); ?>
            </div>

        <?php endwhile; ?>

      <?php else: ?>

        <p class="text-center">No authors</p>

      <?php endif; ?>

     </div>
</div>
这不是预期的结果,有人能帮我吗?

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

代码的执行进入无限循环,因为您错过了the_post() 循环中。

您可以列出当前类别中的所有作者:-

为作者ID创建空数组检查该数组中是否存在当前作者ID如果不存在,则显示作者名称并将该作者ID存储在数组中

<div class="container">
    <div class="row"><?php 

        if ( have_posts() ) { 
            $unique_authors = array();

            while( have_posts() ) { 
                the_post(); ?>

                <div class="col-md-2 text-center"><?php
                    if (!in_array(get_the_author_meta(\'ID\'), $unique_authors)) {
                        the_author_meta( \'display_name\' );
                        array_push($unique_authors, get_the_author_meta(\'ID\'));
                    } ?>
                </div><?php 

            }
        } else { ?>
            <p class="text-center">No authors</p><?php
        } ?>

     </div>
</div>