首先,没有不删除垃圾邮件评论的设置。我的困惑是由Akismet配置页面上含糊不清的措辞引起的。。。
自动删除超过一个月前提交的垃圾邮件。
“超过一个月”是指超过一个月的“帖子”,而不是超过一个月的“帖子上提交的垃圾邮件”。
至于最初关于如何阻止删除评论的问题。。。
15天后自动删除,no matter what. Akismet thinks they know best! 他们认为你想在两周后删除垃圾邮件,因为他们还认为15天的时间足以让你验证评论是否被正确标记。
我问他们为什么不能简单地给用户一个选项,我得到了一些借口,说明数千条垃圾评论可以关闭服务器。好吧,那是真的。但如果当初没有安装Akismet插件,同样的事情也可能发生。给管理员一点信任,因为他能够就安装做出自己的决定。但这不会发生。
我意识到编辑核心文件是不受欢迎的,但我决定在自己的网站上处理它。
中的这一行wp-content/plugins/akismet/akismet.php
文件
$comment_ids = $wpdb->get_col("SELECT comment_id FROM $wpdb->comments WHERE
DATE_SUB(\'$now_gmt\', INTERVAL 15 DAY) > comment_date_gmt AND
comment_approved = \'spam\'");
我编辑过
INTERVAL 15 DAY
到180天,让我有足够的时间在删除之前查看评论。
EDIT:
每次更新插件时,都必须重新应用这样的修改。
<小时>
EDIT 2:
根据@ChipBennett的有益建议,我创建了一个插件,该插件除了通过Akismet插件停用注释删除外,什么都不做。这件简单的事情避免了必须修改Akismet插件的整个问题。
我只是创建了以下内容php
文件并将其放入plugins目录(wp-content/plugins/
)
<?php
/**
* @package Akismet_keep_comment
* @version 1.0
*/
/*
Plugin Name: Akismet Keep Comment
Plugin URI:
Description: This plugin removes the comment deletion ability of the Akismet plugin
Author: Me
Version: 1.0
Author URI: http://www.mysite.com
*/
remove_action(\'akismet_scheduled_delete\', \'akismet_delete_old\');
?>
然后我通过仪表板的插件页面“激活”了它。