您的评论等待审核消息有时不会出现

时间:2013-11-29 作者:AdamJones

在一个新的wordpress网站上,我意识到,有时在测试帖子的评论功能时,不会出现“你的评论是一种温和的评论”的消息。

发布评论时,页面刷新时的url包含新评论包装div的锚点。在该div中,通常会显示一条消息“您的评论正在等待审核”,而不是在普通用户发表评论时显示评论。

但是,当出现此问题时,虽然锚仍然位于返回页面的url中,但整个注释元素不在html中。这意味着锚定点不存在,因此当页面加载时,它不会跳到最后一个注释点,而是停留在最顶端。

可靠地重复这个问题非常困难。首先有一种预感,这种情况只发生在某些浏览器上。然后,当我意识到从php返回的html只是缺少刚刚做出的注释(或者至少是它的包装器和等待消息)时,我意识到必须要做一些非常基本的事情。

我的直觉是,这是因为我的测试消息(通常只包含几个单词或字符,并不是真正准确的消息表示)被Askimet捕获(是的,它已安装并正在运行)并标记为垃圾邮件。我发现我的一些测试被标记为垃圾邮件,因此我得出结论,这可能是等待审核消息没有出现的原因。

然而,我也肯定没有让消息出现,我所做的测试评论被askimet清除为ok。所以我不确定我的假设是否完全正确。

是否有人知道此消息的内部工作原理,并能确认此消息可能不会出现的原因?

1 个回复
SO网友:AdamJones

我通过在JS/Jquery中处理这一切来解决这个问题。

在jQuery document ready子句中,我在页面加载中查找特定类型的锚,如果存在,我假设消息刚刚发布。然后,我使用jQuery在页面顶部显示一条漂亮的小警报消息。

出于下面示例代码的目的,我使用了一个标准的JS警报函数调用来显示消息,这样您就可以更改它并创建自己的消息显示函数。

$(document).ready(function()  { 

    // check for comment posts
    if(window.location.hash) {
        var urlHash=window.location.hash;
        if(urlHash.indexOf(\'#comment-\') === 0) {
            alert("Thank you for submitting your comment.  It will be reviewed and set live as soon as possible.);
        }
    }
});

结束

相关推荐

除了使用wp_list_Comments之外,如何获取评论?

我想你们一定在想,“到底为什么?”基本上,这是因为它不适用于NextSCRIPTS从facebook获取评论的插件。当我在管理面板中时,我可以正确地看到评论,但在博客帖子上,它只是不断显示管理员而不是用户。这是在更新到3.6之后发生的,NextSCRIPTS告诉我他们知道这个问题,但已经一个月了,我们有8000多条评论,我想找到解决方法。所以说真的,你不需要我的任何代码,只要有人知道,你能分享一下如何在不使用wp\\u list\\u注释的情况下获取注释吗?必须有另一种方法。谢谢Matt