Ping应用与历史
Ping,除了指Windows系统中检查网络连接的工具,在Web2.0中,Ping常用来通知被引用的内容来源或通知搜索引擎文章的更新。例如WPCEO先发布了一篇文章《Ping应用与拓展——No Self Pings》,某位网友想引用其中的内容,则可以在WordPress中发送trackback给WPCEO,WPCEO就知道这位网友引用了这篇文章的内容了。
有时候,我可能需要引用本博客以前发过的某篇文章,WordPress也会发Ping给该文章,而trackback会以评论的形式存在在评论列表中,这往往不是我们需要的效果。
Ping拓展——No Self Pings
结合WordPress强大的Filter功能,我们可以让WordPress在发送Ping通知时,不再通知本站的文章。No Self Pings是一个简单的WordPress插件,它可以达到这样的效果。
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' );
以上是这个插件的全部PHP代码。我们可以从中分析得出,在pre_ping
这个Hook中,加入自己的过滤函数no_self_ping
,通过no_self_ping
函数,对需要Ping的每个连接,通过PHP函数strpos
判断与本站的首页即$home = get_option( 'home' );
与需要Ping的URL开头是否相同,从而判断是否属于本站链接。如果为本站链接,则从待Ping列表中删除。
加到主题里,嗯嗯。哈哈。
能不能从源头kill掉,在 publish post 时就防止这种 ping 发送出去?
这个插件就是源头上不PING自己
这个插件 每次装wordpress都装这个
全站禁ping,这玩意也就用不着了。