彻底清除WordPress垃圾评论中的PingBack通告

打开评论,选择筛选,显示Ping通告,是否发现有许多垃圾评论?看到的内容一般是你的文章内容片段,这类评论是PingBack造成的。

原本PingBack的诞生是为了更好的博客互动,却被垃圾评论制造者利用,平衡一下利与弊,我还是选择了清除PingBack。

当我们在发布文章的时候,可以看到编辑器下方有一个“讨论”选项,可以设置这篇文章是否接受PingBack,一般默认是接受状态,那么就有可能被垃圾评论者利用。如果觉得每次发表文章都要去设置比较麻烦,可以在WordPress的设置菜单中找到讨论选项,取消里边的“接受从其它博客的链接通知(pingback和trackback)”选项,这样在以后发表新文章时就默认不接受PingBack了。

对于已经发表了的文章,我们不可能还一个一个的去手工修改该选项的设置,可以执行SQL语句完成,如下:

UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2017-10-07'

需要注意的是,以上语句中的wp_posts需要根据你的表名修改。其中的日期也可以根据你的需要修改,将对这个日期前的文章进行查询。

然后在WordPress的“设置→讨论”中,取消勾选:允许其他博客发送链接通知(pingback和trackback)到新文章

另外,还可以在functions.php文件中添加如下代码来禁用PingBack通告:

function bzg_no_self_ping( &$links ) {
	$home = get_option( 'home' );
	foreach ( $links as $l => $link ) {
		if ( 0 === strpos( $link, $home ) ) unset($links[$l]);
	}
}
add_action( 'pre_ping', 'bzg_no_self_ping' );
阿里云