WordPress中博客页面的工作原理:博客页面检索第一篇文章ID

时间:2017-11-28 作者:Didav

我使用WordPress静态首页进程来分配首页和帖子页面。所以我有两个页面:“front”(front page.php)和“blog”(home.php)。

对于“博客”页面,当我显示$post->ID 在head init(循环外)之后,我不明白为什么WordPress会将创建的最后一个帖子ID发送给我。通常必须显示页面ID?

我阅读了关于此类案例和使用能力的“可能已经有你答案的问题”:

get_option(\'page_for_posts\')
但是为什么Wordpress是这样工作的呢?

是否定义了全局var?

WordPress模板层次结构中是否缺少一些内容?

谢谢你的帮助

1 个回复
SO网友:ngearing

$post对象包含当前页面主查询的数据。因此,在您的情况下,主要查询位于首页。php包含指定为首页的页面中的数据。但是,您的博客页面是一个存档,可以包含多个帖子数据。在这两种情况下,您都使用循环来访问这些数据。

也许这一页将有助于解释更多内容:

https://developer.wordpress.org/themes/basics/the-loop/

Edit:

好吧我想你需要的是get_queried_object() 这将在首页或博客上返回页面ID。这个$post 对象包含循环中第一篇文章的数据,您应该将博客页面视为存档,而不是页面。

结束

相关推荐

显示类别ID之外的帖子的WP查询结果

我有一个名为“房间”的自定义帖子类型,我有分配给特定房间的类别,以便它们以特定的方式在页面上排序。类别ID为8、9和10。当我为特定类别拉取下面的WP查询时,无论类别如何,所有房间都会显示出来。我不太确定哪里出了问题,但我觉得它在我的数组args中。任何帮助都将不胜感激。<?php $args = array( \'numberposts\' => -1, \'post_type\' => \'rooms\', \'c