WordPressの投稿や固定ページで、同ウェブサイト内の他のページへのリンクを埋め込んだ際、それがコメント扱いされてしまう現象、通称「セルフピンバック」を停止する方法を紹介します。

ピンバックとは?
リンクを貼った先のウェブサイトの管理者に、リンクを貼った旨を自動通知する機能です。
この機能はWordPressにあらかじめ備わっていますが、双方のサイトがWordPressで構築されていて、かつピンバック機能がオンになっていること、さらにリンク先のサイト管理者の承認が必要となります。

ダッシュボードの設定でピンバック自体を停止する

WordPressの管理画面より。
「設定」→「ディスカッション」→「デフォルトの投稿設定」から、『投稿中からリンクしたすべてのブログへの通知を試みる』の項目のチェックを外すことで、ピンバック機能を停止することが可能です。

セルフピンバックを停止

ただし、この方法だと自身のウェブサイトだけでなく、他のウェブサイトへのピンバックも停止されてしまうのでご注意を。

[functions.php]にコードを追記してセルフピンバックを停止する

外部のウェブサイトへのピンバックを有効化しつつ、自身のウェブサイトの内部リンクのみピンバック機能を停止させるには[functions.php]を利用します。

以下のコードを[functions.php]に追加します。

function disable_self_pingback( &$links ) {
	$home = get_option( 'home' );
	foreach ( $links as $l => $link )
	if ( 0 === strpos( $link, $home ) )
	unset( $links[$l] );
}
add_action( 'pre_ping', 'disable_self_pingback' );

[functions.php]は極めて重要なファイルなので、必ずバックアップを保存してから作業してください。

以上。
今回はセルフピンバックを停止する方法を紹介しました。
「ダッシュボードの設定からピンバックを停止」するか、それとも「functions.phpを利用する」か。
お好みの方法をご利用ください。