我需要在“单帖子”页面上的侧边栏中显示一些迷你作者统计数据。我正在使用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') ); ?>
许可以下: CC-BY-SA归因
scroll top