首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能找到当前邮件的数量?

我怎样才能找到当前邮件的数量?
EN

WordPress Development用户
提问于 2020-07-17 05:54:03
回答 2查看 118关注 0票数 0

假设我的自定义帖子类型是“故事”。我有20个故事发表在我的网站上。所以每个帖子都变成了:“故事1”,“故事2”,.“故事20”因此,第一篇文章是“故事1”,最后一篇文章是“故事20”。现在,当我打开其中一个定制的帖子,我想看看号码。例如,如果我打开第九篇文章,我希望看到它提到‘故事9’。我不想硬编码它,我可以使用ACF插件。我希望这些数据是动态生成的,就像wordpress如何动态地生成post id或slug一样。

EN

回答 2

WordPress Development用户

回答已采纳

发布于 2020-07-17 10:19:17

在Wordpress中没有这样的帖子的订单或编号。

数据库用‘主键’来存储东西,这只是一个数字,但是对于每个帖子,这始终是一样的。因此,如果您添加了大量的帖子,删除了大量的帖子,然后再添加一些,那么前3个帖子的主键可能是1,20,100。

如果你想在你的问题中找到帖子的“计数”或“顺序”,那么你必须选择你想要对它们排序的方式,然后自己找出顺序。

例如,您可以使用WP_Query来获取按日期排序的所有帖子,然后打印它们以给它们编号1、2、3、4,还可以使用这个列表来确定该列表中任何帖子的编号。

HTH。如果您需要更多的信息,请扩展您的问题。

编辑:

所以根据你最新的问题,你需要这样做。您可以将此数字存储在post_meta字段中,并将其挂到保存post钩子中,以便在需要时进行更新--这将比在每次加载页面时运行该文件更有效。

代码语言:javascript
复制
$args = Array(
    'orderby' => 'date',
    'order' => 'ASC' // oldest first
}

$postsSorted = get_posts($args);

$count = 1;
$postToNumbers = Array();


foreach($postsSorted as $post) {
    $postNumbers[$post->ID] = $count;
    $count++;
}

这将为您提供一个数组,该数组允许您查找任何post ID的“计数”。

代码语言:javascript
复制
$postID = get_the_ID();  // whatever method is relevant to where you are to get the post ID 
echo "The count of this post is " . $postNumbers[$postID] ;

您可以将其放入函数中以便于调用,或者如前所述,您可以将其连接到保存/删除post挂钩中,以将数字存储在post元中,并在添加删除帖子时更新该数字,但您需要为此编写代码;-)

这有用吗?

票数 0
EN

WordPress Development用户

发布于 2022-04-22 19:31:26

在@mozboz回答之后,我编写了代码的“显式版本”(前面的代码抛出了一个错误)。在我的single.php页脚中,这对我起了作用:

代码语言:javascript
复制
$count = 0;
$post_array = Array();

$args = Array(
    'post_type'     => 'post',
    'orderby'       => 'date',
    'order'         => 'DESC',
    'posts_per_page'=> -1
);
$posts_query = new WP_Query( $args );

if ( $posts_query->have_posts() ) {
    while ( $posts_query->have_posts() ) {
        $posts_query->the_post();
        $post_id = get_the_ID();
        $post_array[] = $post_id;
        $count++;
    }
} 
wp_reset_postdata();

$post_id = get_the_ID();
$position = array_search($post_id, $post_array);

echo $position +1 . '/' . $count;
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/371238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档