• 日常搜索
  • 百度一下
  • Google
  • 在线工具
  • 搜转载

如何在 WordPress 中获取帖子 ID

wordpress 中的不同帖子和页面由它们的 ID 唯一标识。一旦您知道帖子的 ID,您就可以获得其他相关信息,例如其标题或发布日期。

如何在 WordPress 中获取帖子 ID  第1张

在这篇文章中,我将向您展示两种在 WordPress 中获取帖子 ID 的方法。

使用get_the_ID()函数获取 post ID

get_the_ID()您可以使用该函数轻松获取 WordPress 循环中当前帖子的 ID 。此函数返回 WordPress 循环中当前帖子的 ID,false如果$post未设置变量则返回。

您可能想知道我所说的 WordPress 循环是什么意思。WordPress 循环是用于在模板文件中显示帖子内容的技术之一。

这是一个获取 WordPress 中当前帖子 ID 的示例:

<?php
while ( have_posts() ) {
    the_post();
    do_action( 'storefront_single_post_before' );
 
    echo "<h2>The Post ID: ".get_the_ID()."</h2>";
    get_template_part( 'content', 'single' );
 
    do_action( 'storefront_single_post_after' );
}
?>

上面的代码片段来自 Storefront 主题中的single.php文件。我修改它以在帖子内容之前回显帖子 ID。

假设您在主题中有一个常见问题页面,文件名为page-faqs.php。您将能够使用相同的get_the_ID()函数来获取页面的 ID。

我还想补充一点,即使在循环之外,您通常也可以使用此函数获取帖子 ID。但是,它可能并不总是准确的。

使用get_queried_object_id()函数获取页面ID

可用于获取任何查询对象的 ID(例如 WordPress 中的帖子或页面 ID)的另一个函数是该get_queried_object_id()函数。即使在循环之外,此函数也会为您提供当前帖子或页面的 ID。

此功能在博客主页等页面上特别有用。在这种情况下,使用该函数get_the_ID()将返回循环中第一篇博文的 ID。

对于我的网站,我将博客主页设置为/blog/. 现在,这个页面的 ID 是 134。博客页面上列出的第一个帖子的 ID 是 192。如果我get_the_ID()在这个页面上调用函数,它将返回 192。我这里真正想要的是值 134。

尝试在您的博客主页上添加以下行,您将看到这些函数输出不同的 ID。

<?php
 
// The post ID: 192
echo "<h2>The post ID: ".get_the_ID()."</h2>";
 
// The Queried Object ID: 134
echo "<h2>The Queried Object ID: ".get_queried_object_id()."</h2>";
     
?>

将上面的代码放在循环中的最后一个帖子之后会导致get_the_ID()函数的输出是最后一个帖子的 ID。该get_queried_object_id()函数仍将返回正确的页面 ID。

如果您在分类存档页面使用此功能,它将返回分类ID,因为没有特定的分类页面。

最后的想法

在这个快速提示中,我们了解了两个不同的函数,您可以使用它们来获取 WordPress 中当前帖子或页面的 ID。您还可以使用全局$post对象获取帖子 ID,但这并不总是可靠的,因为有人可能已经调整了它的值。


文章目录
  • 使用get_the_ID()函数获取 post ID
  • 使用get_queried_object_id()函数获取页面ID
  • 最后的想法
  • 发表评论