你现在的位置:首页 > PHP网站建设知识库 > WordPress > 正文

取消wordpress对站内文章的pingback

核心提示:对于 WordPress 而言,简单来说,pingback 就是当别人转载/引用你的文章链接时,会自动在你的文章底部加一条来源的链接。pingback 对于站内文章是多余的,可以关闭这个功能。

Pingback 是网志中常用的用来通知网志系统文章被引用情况的一种手段。3G 博客网将其翻译为“广播”,是指计算机系统向外部发出引用信息,但也有人认为会与日常生活中的广播混淆。当其他人连结至 Web 作者的网页时,Web 作者获取通知的方法。这个方法使得 Web 作者可以追踪什么人连结至他的文章。有一些网志软件,如 WordPress,具有当一篇文章出版的时候,自动 pingback 这篇文章中所有的连结的功能。

以上对 Pingback 的解释来自于维基百科。对于 WordPress 而言,简单来说,pingback 就是当别人转载/引用你的文章链接时,会自动在你的文章底部加一条来源的链接(当然,前提是你的 WordPress 主题支持这一功能)。这个功能相当实用,因为大多数情况下,这些引用的链接都是和原文相关,或者有扩展的内容,读者可以寻着链接阅读到更多感兴趣的信息。

同样的道理是,如果在一篇文章中引用了自己站内之前写过的另一篇文章的链接,那么,这个之前的这篇文章就会收到自己站内发给自己一个 pingback。但是我认为一般说来,站内链接用相关日志功能就可以做到内链建设,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’ );

如果我没记错的话,这段代码的前身是一个插件,但是仅仅为这几行代码动用一个插件是不是太奢侈了?能省则省吧,还是把它提取到了非插件集成在主题里,多省心呀。