$POST->ID和_id()总是返回错误的值 时间:2012-01-20 作者:Jason Swett 我有一个网站,我在每个页面上显示相同的页脚。不过,有一个例外。在某一页上,我需要更改页脚的一小部分。我想最简单的方法是在页脚内检查我是否在该页上。更改该页的整个页脚是没有意义的,因为我只更改页脚的一小部分,在页脚的深处。问题是每当我打电话$post->ID 或the_id() 在页脚内,它给了我一个明显与我所在帖子不匹配的ID。它总是给我89, 无论我在网站的哪个页面上。我想我一定做错了什么。谁能告诉我是什么吗? 5 个回复 最合适的回答,由SO网友:helenhousandi 整理而成 听起来你正在改变全球$post 某处的数据(通常是另一个循环)。一定要打电话wp_reset_postdata() 完成在备用循环中设置post数据的操作后。 SO网友:Sufiyan Ghori \\u ID只是回显帖子,它不返回ID,如果需要特定帖子的ID,使用<?php get_the_ID(); ?> SO网友:Annika Backstrom 测试$the_wp_query, 这是活动页面的主要查询。的价值$post 只是上一个循环结束时的结果,因此您可能有影响值的插件。 SO网友:Raphael 法典说(强调我的):显示当前帖子的数字ID。This tag must be within The Loop. 您尝试在页脚中使用它,因此失败是有很好的记录的。我建议这样做:编写一个带有自己帖子ID数组的小插件(类成员或唯一命名的全局;应该是一个数组,以便处理包含多篇帖子的页面)。创建一个快捷码,将当前帖子的ID添加到此数组中。在页脚中,您可以从中读取所需的所有ID,并且可以确保没有人对它们进行了修改。 SO网友:Ben 我的问题是我给$post分配了其他值。我将$post重命名为其他名称,它可以正常工作。 结束 文章导航