在侧边栏中显示作者帖子计数-变量

时间:2011-02-04 作者:Lynne

我需要在单篇文章页面的侧栏中显示一些小作者统计数据。我正在使用PHP代码小部件,以允许我将PHP代码插入到小部件中。我所做的是在侧栏中运行一个循环,如下所示:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    <ul>
        <li>


<?php echo \'Posts made: \' . get_usernumposts(4); ?>

<p>
Author Rank: <?php the_author_meta(\'user_level\'); ?>
<br>
Author\'s Name: <?php the_author_meta(\'display_name\'); ?>
<br>
User ID: <?php the_author_meta(\'ID\'); ?>
</p>


        </li>

    <?php endwhile; else: ?>
        <p><?php _e(\'No posts by this author.\'); ?></p>

    <?php endif; ?>
因此,这显示了作者ID“4”的用户帖子数。是的,尽管该函数已被弃用,但它仍能正常工作。

我显然需要一些更动态的东西,因为作者数据在每篇文章中都有所不同,所以静态ID不会起作用。我不知道为什么

<?php the_author_meta(\'post_count\'); ?>
我想那太方便了。我见过很多以各种方式选择帖子计数的查询,所有这些查询要么不是我所需要的,要么不适用于侧边栏中的循环。

虽然我不是PHP专家,但我的第一个想法是为usernumposts的值分配一个变量,从

<?php the_author_meta(\'ID\'); ?>
我不知道这是否可能,但它肯定会实现我的目标。那么这能做到吗?怎样如果没有,我还有什么其他选择?

谢谢

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

要获取某个用户发布的帖子数量,我发现解决方案是调用count_user_posts(), 传入适当的用户id。

<?php echo \'Posts made: \' . count_user_posts( get_the_author_meta(\'ID\') ); ?>
以可翻译的形式。

<?php printf( \'Posts made: %d\', count_user_posts( get_the_author_meta(\'ID\') ) ); ?>
变量中的存储。

<?php $user_post_count = count_user_posts( get_the_author_meta(\'ID\') ); ?>

结束