此代码用于<head>
和之前<body>
并且应该得到当前页面的slug。它工作得很好,但是当它在“一般”博客页面上时,它会得到第一篇博客文章的鼻涕虫。
$post
将在页面加载时设置为循环中的第一篇文章。在“页面”页面上,循环中只有一篇文章,这将是您期望的页面数据。在存档页面上,它将是页面上一组帖子中的第一篇帖子。这似乎正在发生。你不能相信$post
明确地像这样——也就是说,不知道它在什么时候被设置为什么。(大多数循环,甚至次要循环,也会改变此变量)
要获取页面数据本身,您需要get_queried_object()
但也要小心,因为它在各种类型的页面上都会有所不同——有时是post对象,有时是user对象,有时是null
.