曾经发布的帖子的计数器-即使是被删除的帖子

时间:2015-08-30 作者:Jim

我想知道如何显示曾经发布过的帖子数量——不仅是当前发布的、草稿+待定的等等,甚至是删除的。

我假设必须创建某种计数器,每当发布一篇文章时,计数器就会增加一个。

有什么想法吗?

P、 我说的是定制的帖子类型

2 个回复
最合适的回答,由SO网友:Matt Shaw 整理而成

根据您的需要,WP Query可能不适用于此,因为它不包括在清空垃圾后删除的帖子。这应该可行(但尚未测试):

function wpse_custom_post_type_counter() {
     $number = get_option( \'wpse_custom_counter\' ) ? absint( get_option( \'wpse_custom_counter\' )  ): 0;
     $number++;
     update_option( \'wpse_custom_counter\', $number );
}
add_action( \'publish_your_custom_post_type\', \'wpse_custom_post_type_counter\' );
您需要更新函数和选项名称以适合您的应用程序。此外,自定义帖子类型的slug应该替换your_custom_post_type 在呼叫中add_action.

这种方法的一个缺点是,它只能向前运行,无法计算现有的职位。

希望有帮助!

SO网友:Will

假设你没有清空已删除帖子上的垃圾,你可以用一个简单的wp_query.

<?php
$args = array (
    \'post_type\'       => array( \'your-custom-post-type\' ),
    \'post_status\'     => array( \'publish\', \'trash\' ),
    \'posts_per_page\'  => -1
);
$query = new WP_Query( $args );
$total = count($query->posts);
?>
<h1>My total: <?php echo $total; ?></h1>
您可能需要根据您关心的状态扩充查询:https://codex.wordpress.org/Post_Status

相关推荐

GET_POSTS查询大约需要40秒来执行

我在get\\u帖子中有一个元查询,它需要花很长时间才能完成。它工作得很好,但只是时间太长了。我有一个名为event. 在每个event 发布后,有自定义元数据:post\\U sort\\U日期(事件日期YmdHis 格式,用于排序)我需要做的是获取下一个事件,该事件相对于$year 和$month 变量。所以如果$year = 2021 和$month = 10 (2021 10月)然后应该在2021 11月或之后找到第一个事件。我下面的查询很好,但很慢。执行大约需要40秒,我不知道为什么。$next