WordPress 教程:禁止向站内链接发送 PingBack 引用通告

[ 文档 ]

使用 WordPress 建站的朋友都知道,如果你在撰写文章时添加了另一篇 WordPress 文章的链接,那么发布文章后就会向那篇被链接的文章发送一条 Pingback 引用通告,这对于两个 WordPress 站点的互动和交流还是很有好处的。但是 WordPress 默认也会向站内链接发送 Pingback 引用通告,如果自己站内的某篇文章被多次链接,那么那篇文章收到的 Pingback 引用通告就会很多。

而对于站内文章来说,获得这么多的 Pingback 引用通告不但无益,还有一定的害处,例如导致数据库庞大、不利于 SEO 等。所以,我们最好是禁止 WordPress 向站内链接发送 PingBack 引用通告,而对于站外链接则照发不误。实现方法如下:

在当前 WordPress 主题的 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' );

其实以上代码就是提取自 No Self Pings 插件,没必要因为这个需求再专门安装个插件。

另外,如果你要删除之前已经产生的 Pingback,则可以在数据库中运行如下命令:

UPDATE wp_posts SET ping_status='closed';

注意修改上面的 wp_posts 的前缀 wp_ 为你的数据库表前缀哦!

发表评论

您的个人信息将得到保护,邮箱不会被公开。