COMMENT_POST_ID 0(无法从仪表板中删除)

时间:2012-11-07 作者:Zach

遇到了一些我以前没见过的奇怪的东西。客户有一个相当活跃的博客,并使用Akismet(付费)来防止垃圾邮件。他们每天至少报告一次正确标记为垃圾邮件的垃圾邮件评论,但无法通过单击从管理仪表板中删除Empty Spam 或者手动选择条目并尝试删除它。

我对此进行了研究,发现DB条目有一个comment_post_ID 属于0, 我不得不假设这意味着它不附在任何帖子上。很明显,我可以从DB中删除他们的手册(它工作得很好),但没有找到关于这可能是什么的任何信息。

我已经替换了核心WP文件(认为这可能是一个安全问题),还重新生成了wp-config.php 没有任何更改的文件。

任何想法都会有很大的帮助。谢谢

更新虽然这可能源于,但我不确定这是否是InMotion hack.

以下是所做的工作:

更改了FTP、MySQL密码,创建了新的DB用户,分配给数据库wp-config.php

  • 更改了所有WP用户密码
  • 重新安装的核心WordPress文件
    • Akismet对这一点没有想法(不要责怪他们),因为这一点是持久的。

    1 个回复
    SO网友:WowPress.host

    很抱歉,我无法在此发表评论,但我会尽力帮助您。

    wp\\u handle\\u comment\\u提交函数Handling comments posting包含对post\\u id的精确检查:

        $post = get_post( $comment_post_ID );
    
        if ( empty( $post->comment_status ) ) {
             ...
           return error_happened; 
        }
    
    即:(1)它通过,或(2)添加了评论,而不是发布评论的默认方式。

    对于(1)-检查db、wp\\U posts表中是否不存在id为0的post。有时数据库中的故障会导致出现此类记录

    结束