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