遇到了一些我以前没见过的奇怪的东西。客户有一个相当活跃的博客,并使用Akismet(付费)来防止垃圾邮件。他们每天至少报告一次正确标记为垃圾邮件的垃圾邮件评论,但无法通过单击从管理仪表板中删除Empty Spam
或者手动选择条目并尝试删除它。
我对此进行了研究,发现DB条目有一个comment_post_ID
属于0
, 我不得不假设这意味着它不附在任何帖子上。很明显,我可以从DB中删除他们的手册(它工作得很好),但没有找到关于这可能是什么的任何信息。
我已经替换了核心WP文件(认为这可能是一个安全问题),还重新生成了wp-config.php
没有任何更改的文件。
任何想法都会有很大的帮助。谢谢
以下是所做的工作:
更改了FTP、MySQL密码,创建了新的DB用户,分配给数据库wp-config.php
更改了所有WP用户密码重新安装的核心WordPress文件Akismet对这一点没有想法(不要责怪他们),因为这一点是持久的。
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。有时数据库中的故障会导致出现此类记录