我知道有类似 is_single() 的函数会返回有关页面的数据,但我正在寻找一种方法来在循环之外获取以下信息:
单个帖子的类别。
和
单个帖子的标题。
我真正需要的只是有问题的帖子 ID,我可以获得所有其他信息。我查看了法典中的函数引用,但没有找到任何东西。这是不可能的,因为脚本甚至在循环运行之前都没有获得该信息吗?
(我需要在页眉和页脚中使用此信息,所以在循环的 PHP 脚本之前和之后,如果这是一个问题。)
希望有人能提供一些见解。
编辑:澄清一下:我希望信息来自在“单个”页面上的循环中加载的帖子。 (也就是他们正在查看的帖子。)那么我首先要如何获得这个 ID?基本上,在查看帖子时,我想获取其类别或标题,但不是在循环进行时。
最佳答案
这其实很简单。
// Gets an array of post objects.
// If this is the single post page (single.php template), this should be an
// array of length 1.
$posts = get_posts();
// The post object contains most/all of the data that is accessible through the
// normal functions like `the_ID()`, `the_author()`, etc
var_dump($posts[0]->ID);
这可以在外部执行,并且不会影响正常循环。例如,我的 single.php
模板如下所示(包括行号):
1. <?php
2. get_header();
3. $posts = get_posts();
4. var_dump($posts[0]->ID);
5. ?>
6. <div id="post">
关于php - 在 Wordpress 循环之外获取发布信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1391299/