评论状态在数据库中显示为已关闭,但当我回显时它显示为打开

时间:2019-03-05 作者:wpdev

这是数据库ss。comment\\u状态为closed

enter image description here

但当我打印它时,它会显示open

echo $post->comment_status;
此外,在“页面设置”中,未选中“注释”复选框。

enter image description here

所以,我不能在页面中隐藏评论。我怎样才能修复它?

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

要调试这种情况,我要做的第一件事就是打印$post->ID 就在打印注释状态之前。(并确保它是否等于414-您正在DB中检查的帖子)

我几乎可以肯定,您在页面的某个地方进行了另一个wp\\U查询,并修改了全局$post 变量因此,当您打印评论状态时,它会显示真实的值,但针对不同的帖子。

如果您执行此类wp\\U查询,那么您必须记住使用wp_reset_postdata 在循环之后$post 变量将恢复为其原始值。

相关推荐

Delete comments function

我做了一个功能,向登录用户显示她的所有评论,并允许她通过与打印的每个评论相关的删除按钮单独删除这些评论。该功能起作用,但在执行表单操作后,刷新时页面仍会显示已删除的注释,并且仅当您再次转到该页面(不是刷新,而是通过单击浏览器地址栏上的返回键)时,页面才会显示已批准的注释。如何解决此问题?代码如下: function custom_delete_post_comment() { $comment_id = comment_ID();