是否已注销的访问者的备注不为真?

时间:2011-07-14 作者:Jonathan Wold

出于某种奇怪的原因,当用户未登录时,不会显示评论。我对评论做了一些广泛的实验。php没有任何成功。以下是对示例页面的参考:

http://gycweb.org/by-this-will-all-men-know/

如果您登录,您将看到3条评论。如果您没有登录,只需填写表单即可。此外,为了增加神秘感,当从管理员内部“编辑”帖子并单击“显示评论”时,它会尝试加载评论,但无法加载评论。

对于注销的用户,“have\\u comments”条件似乎失败。我还尝试获取wp\\u list\\u注释以返回列表,但没有成功。

我已经检查了插件冲突,但没有任何明显的问题。你们有谁碰到过这个吗?有明显的答案吗?

3 个回复
最合适的回答,由SO网友:Jonathan Wold 整理而成

托肖是对的。我最后遇到了一个妨碍我的问题。我花了点时间排除故障,但我成功了。

如果遇到类似的问题,请仔细查找模板上可能存在的任何自定义查询,并确保它们已正确打包。

SO网友:vlood

您的web服务器用户可能没有创建新文件的权限。我相信WordPress会为未登录的用户缓存页面和帖子上的评论,这样只有经过身份验证的用户才能获得最新的评论列表。当注销的用户输入一条评论时,列表也会用他的评论更新,这会给他们带来整个列表(我在我的WP实例和你的WP实例上都试过了,就是这样)。否则,WP会尝试从文件中获取其事先无法创建的注释,导致have\\u comments()返回false。

因此,如果您为www数据或任何其他称为web服务器用户的内容提供写权限,您将忘记这个问题。

整个事情仍然是一个理论,因为我将在大约10天内无法访问我的安装,但我坚信这就是解决方案。

SO网友:Sean Lee

根据您最初的问题,“如果您登录,您将看到3条评论。如果您没有登录,除了表单之外什么都没有……似乎“have\\u comments”条件对于注销的用户是失败的。”

您是否打算为所有登录和注销的用户显示评论?

如果要为已注销的用户显示注释,则需要删除以下内容:

<?php if ( post_password_required() ) : ?>
            <p class="nopassword"><?php _e( \'This post is password protected. Enter the password to view any comments.\', \'twentyten\' ); ?></p>
        </div><!-- #comments -->

结束

相关推荐

How to prevent spam comments?

我已经安装了NoSpamMX插件。我很长时间没有收到垃圾评论了。但现在我收到了很多垃圾评论,尤其是在一篇帖子中。为什么只有那个帖子才会有这么多垃圾邮件?