WordPress セルフピンバックを無効にするプラグイン「No Self Pings」

【この記事を読むのに必要な時間は約 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」プラグインを利用することをお勧めする。以上

Related Posts Plugin for WordPress, Blogger...

もし良ければお願いします。

  • このエントリーをはてなブックマークに追加

良かったらフォローお願いします。