ブログを運営していく上で書かせない内部リンク。
でもWordPressの場合、自分で自分の記事のリンクを貼っているだけなのに毎回毎回
投稿「○○の記事」への新しいピンバックが承認待ちです。
なんていうメールが送られてきてしまって煩わしいですよね。
内部リンク(セルフピンバック)に対するお知らせが来ないようにするにはNo Self Pingsというプラグインを使うことが一般的ですが、こちらの記事ではプラグインを使わずにセルフピンバックを防止する方法を紹介します。
もともとセルフピンバックに対するお知らせメールが来ない仕様のテーマは、当記事の作業は必要ありません。
事前に確認されることをおすすめします。
テーマや環境との相性によってはサイトに不具合が生じる場合があるため、確認の上で作業を行うことをおすすめします。
私は復数のサイトを運営していて
- JIN
- The Thor
を使っていてますが、JINでは全く問題なく使えています。
でもThe Thorではエラーなどは出ていないものの普通にピンバックのお知らせメールが来てしまっています。
それに私の環境×JINで問題なく使えていますが、入れているプラグインとの相性によっては使えない可能性も十分にありえますので自己責任でお願いいたします。
スポンサーリンク
プラグインなしでセルフピンバックを防止する方法
functions.phpという、とてもセンシティブな部分を触っていきますので下記2点に注意して作業を行ってください。
- くれぐれも慎重に作業してください
- 必ず子テーマの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’ );
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’ );
- Windows:Ctrlキーを押しながらCキー
- Mac:commandキーを押しながらCキー
↓
WordPressダッシュボードの…
「外観」をポイント →「テーマエディター」をクリック
↓
「テーマのための関数(functions.php)」をクリック
↓
すでに何か入っていますが…
最下段に、先ほどコピーしたコードをペースト
ここに入っている文言はテーマによってことなります。
- Windows:Ctrlキーを押しながらVキー
- Mac:commandキーを押しながらVキー
↓
ファイルを更新 をクリック
お疲れ様でした!