彻底干掉WordPress垃圾评论中的PingBack通告

这一段邮件天天接到网站的Ping通告邮件通知每天接到几十封,很是费解于是去问问度娘,查询发现是评论PingBack造成的。原本PingBack的诞生是为了更好的博客互动,却被垃圾评论制造者利用,平衡一下利与弊,我还是选择了干掉PingBack。

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

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

UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2014-11-24'

需要注意的是,以上语句中的wp_posts需要根据你的表名修改,如果你的数据库表前缀不是默认的wp,请替换为你的真实表前缀(关于WordPress修改表前缀)。

以上语句表示关闭2014年3月17前发表的文章的PingBack,你可以根据你的实际情况修改日期。

如果你是主题设计者,还可以在functions.php文件中添加如下代码:

function 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', 'no_self_ping' );

33 Comments

你好!我这里有个独立ip主机3.8折的广告图推荐给你如何?如果可以的话,请加我qq:2954243953

有时候有得有失。对于多说,我想了好久,决定不用。

怎么不用了,这个不是多说的问题

有一个bat可以清楚系统垃圾文件的。

我一分钟就好几条每天烦死

用这个UPDATE `wp_posts` SET ping_status=”closed”;

看你的表名是不是wp_posts

是的

我去 没注意你不要表加引号 UPDATE wp_posts SET ping_status=”closed”;

表应该要加引号吧,否则应该执行不;了吧

这个还真没设置过,不过对于垃圾评论可以使用插件来屏蔽掉。

seo培训 说:

无意间进来,支持一下!

婴儿车 说:

这个东西好像已经淘汰了

路过,留个脚印,网站很棒!

网站不错很漂亮,欢迎互访!

Leave a Reply

Your email address will not be published.