要获取循环外部的当前页面ID,需要使用get_queried_object_id();
($wp_query->
(没有必要)。
但是,这仅在查看单个页面时有效(因此,后端的所有页面下的任何内容)。
如果您正在查看博客、存档文件或类别,则它将不是有效的页面ID。在类别上,它将返回类别ID,但在存档文件或博客上,它将没有值,因为这些内容没有ID。
如果您的主题或其他插件使用query_posts()
, 这可能会干扰此功能。使用wp_reset_query()
将修复此问题,但无论运行哪个主题或插件query_posts()
应该这样做。
如果您正在使用query_posts()
, 不要。使用自定义查询new WP_Query()
或get_posts()
.