【この記事を読むのに必要な時間は約 3 分です。】
新しい記事を投稿する際に、自分の過去記事にリンクを貼ったりすると、ピンバック通知が来て、面倒だなと思っていた。
しばらく、あまり気にせずに放置していたが、今回、テーマを更新したので、見直すことにした。
「セルフピンバックを無効にする」で検索すると数多く紹介されていた。
主要な方法
大別すると有名な「No Self Pings」というプラグインを利用する方法と、「functions.php」に直接、書き込む方法との二つが紹介されていた。
プラグインが2年以上更新されていない(2013年11月現在)ということで、「functions.php」に直接、書き込んだという記事が散見された。
しかし、「No Self Pings」プラグインをエディターで開いて中身を見ると、やっていることは全く、「functions.php」に直接、書き込んだという記事と一緒であった。
今後、テーマを変更するたびに、書き直すのも面倒なので「No Self Pings」プラグインを利用することにした。
「No Self Pings」プラグインの利用方法
説明するまでもないと思うが、通常のプラグインの新規追加でインストールして有効化するだけで利用可能。念のため、中身を表示しておく。
<?php
/*
Plugin Name: No Self Pings
Plugin URI: http://blogwaffe.com/2006/10/04/421/
Description: Keeps WordPress from sending pings to your own site.
Version: 0.2
Author: Michael D. Adams
Author URI: http://blogwaffe.com/
License: GPL2 - http://www.gnu.org/licenses/gpl.txt
*/
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' );
?>
(参考)直接、テーマの「functions.php」に書き込む方法
以下を適用しているテーマの「functions.php」に書き加えると良い。上記「No Self Pings」プラグインとやっていることは全く一緒だとわかると思う。
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」プラグインを利用することをお勧めする。以上