您正在以错误的方式影响主$post变量的值。
WordPress模板由一个主循环组成。该循环位于单个帖子页面上,显示唯一的帖子(或页面)。
当comments表单运行时,它希望循环中的最后一篇文章就是您正在评论的文章。但是,如果在事后处理主循环(例如执行另一个query\\u posts()或以任何方式更改全局$post变量),那么您将弄糟这一点。这就是你的帖子上发生的事情。
如果你看看http://joaoramos.org/sala-de-ser/ 你会看到那篇帖子的ID号是635,但评论表单认为是630。我很惊讶这些评论会出现在正确的页面上。
具体来说,这里发生的事情是你的边栏做错了™. 如果您注意到,侧边栏中的最后一个条目是http://joaoramos.org/via/ 顺便说一句,这是630号邮政编码。
在进行二次循环时,应创建新的WP\\U查询对象,而不是修改主对象,并且如果可能,循环不应修改任何全局变量。
这个问题没有快速解决方法。重写侧边栏,不要弄脏主循环。
编辑:不知道这个。只需在侧栏循环运行后添加对wp\\u reset\\u postdata()的调用,即可将全局$post信息修复回原样。