显示当前帖子在自定义分类中的位置

时间:2014-05-30 作者:Stephen S.

我使用自定义帖子类型和分类法将帖子组织成不同的系列,其中帖子的顺序很重要(旅行叙事)。

我的计划single-{custom-post-type}.php 显示序列中每个帖子的位置:

我目前使用以下标准WP\\U查询查找每个分类中的帖子总数:

$query = new WP_Query(array(
    \'TAXONOMY\' => \'TAXONOMY TERM\', 
    \'posts_per_page\' => -1, 
    \'post_status\' => \'publish\'
));
echo $query->post_count;
然而,我一直不知道如何在这个系列中找到当前帖子的位置。

Post ?? / echo $query->post_count

我曾考虑使用WP\\u Query的日期参数(之前),但因为它只接受DD、MM、YYYY,如果一天中发布了多篇文章,那么它就不起作用了。

我可能走错了方向,所以我对如何解决这个问题的其他解释持开放态度。

提前感谢!

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

如果邮政订单反映了发布日期(请注意,发布日期还考虑了发布的小时、分钟和秒),那么使用只返回邮政ID的查询,然后array_search 要查找当前帖子id索引,请执行以下操作:

$query = new WP_Query( array(
    \'TAXONOMY\' => \'TAXONOMY TERM\', 
    \'posts_per_page\' => -1, 
    \'post_status\' => \'publish\',
    \'orderby\' => \'date\', // be sure posts are ordered by date
    \'order\' => \'ASC\', // be sure order is ascending
    \'fields\' => \'ids\' // get only post ids
));

global $post; // current post object

$i = array_search( $post->ID, $query->posts ) + 1; // add 1 because array are 0-based

echo "Post {$i} / {$query->post_count} in TAXONOMY TERM";

结束

相关推荐

我的DATE_QUERY有什么问题?

这是WordPress 3.9“Smith”。我正在尝试实现new Archive page 根据the suggestion 米洛的。$categories = get_categories( $cat_args ); //it\'s NOT important for the Q, as it\'s fetching perfectly foreach( $categories as $category ) { $ar