WordPressで記事に内部リンクを埋め込むとコメント扱いされる...通称セルフピンバックを停止する方法

2019-08-03

WordPressでこの記事も見てほしい!と思って関係している別記事へのリンクを埋め込んだ時に、なぜかコメントがついてしまう...
早速コメントきたぁ!と思ったら自分が貼ったリンクだった・・・そんな経験ないですか?

記事にリンクを貼るとコメントになってしまう

Wordpressセルフピンバック停止1

こんな感じに。セルフピンバックというみたいです。これを簡単に解決できる方法を記載します。

ピンバック機能:サイトへのリンクが張りつけられたことを管理者に知らせてくれる機能。他サイトも許可している場合はお互いにピンバックしましたという通知が来るらしい。なくてもいい機能ではないのだけどサイト内リンクでも通知が来るのは正直面倒。

今回の記事はfunctions.phpを触る方法なので自信がない方は他ブログさんを参考にしてくださいね。

プラグインとかを導入してもできるみたいだけど、これくらいのことはfunctions.phpを触る方が軽量で簡単、後々分かりやすかったりするのでこちらがおススメ。

WordPressの設定でピンバックを停止する方法

WordPressメニューの設定>ディスカッション>投稿のデフォルト設定
でピンバックのチェックを外すことで、ピンバック機能を停止することが可能。

Wordpressセルフピンバック停止2

しかしながらこの方法だと他サイトへのピンバックも停止されてしまうので、あまりよろしくないです。

サイト内のみのピンバックを停止する方法

子テーマのfunctions.phpにコードを追加して、サイト内でのセルフピンバックを止める方法です。
毎度のことですが、大事なファイルに手を入れる時にはバックアップをとっておきましょう。

Wordpressセルフピンバック停止3

テーマ内のfunctions.phpを触る場合、左のwordpressログイン後のメニューから簡単に触ることができます。

外観>テーマエディターをクリックする。

Wordpressセルフピンバック停止4

右側のテーマファイルのところで、「テーマのための関数」というのが選べるのでこれをクリックする。

以下のコードをそのまま貼り付ける。ファイルを更新をクリックするのをお忘れなく。

//セルフピンバックを送信しない
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にコードを追加する方法が簡単かつ軽量!

まだ実際に使ったことが無いので分からないけどたぶん他サイトにピンバックしたときは通知が来るはず。

-Wordpress
-

© 2021 ソロ学