题
我需要在“单帖子”页面上的侧边栏中显示一些迷你作者统计数据。我正在使用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的专家,而是为Usernumpost的值分配一个变量
<?php the_author_meta('ID'); ?>
我不知道这是否有可能,但这肯定会实现我的目标。那可以做到吗?如何?如果没有 - 我的其他选择是什么?
谢谢!
解决方案
要获取用户发布的帖子数量,我发现解决方案是致电 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') ); ?>