潤いをお届けします
wordpress

【WORDPRESS】内部リンクがコメント扱いになるとき

こんにちは、さんぺいです。

ワードプレスでブログを書いてて、中には自分の過去の記事を表に持って来たくなることがあります。

例えばこういうの

はじめにこんにちは、さんぺいです。毎週土曜になると嫁の実家の犬を散歩させにいくのですが、今日はその犬(盲導犬になれなかったゴールデンレトリバー)が下痢で病院いくとのことで時間ができたので割と真面目な話を書きます。先日オンラインサロン(ゴーゴーサロン)ってのに入りまして、まぁいろんな人がいましてみなさんこんな感じでブログを書かれてて、その中で1つ目に止まった記事がありました 何が目に止まったの?正直に告白しますと、ざっと拝見したときに割と重めの記事が多かったので読みやすそうなのを選択したら…
夫という生き物について – さんぺい

これは自分のとこのページのURLを貼って「こういう記事もありますよ!」ってご紹介しているものになります。

 

ここからが本題:内部リンクがコメント扱い

で、こういうことをすると投降後、あたかもその投稿にコメントがついたかのようにメールが飛んでくることがあります(っていうか設定をいじってなければほぼ間違いなくきます)

こんなのが届きます。

 

原因

WordPressには自分のアドレスを貼られるとそれを通知するしくみがあります(かなりざっくりとした表現ですが)

で、たとえ自分で貼ってもご丁寧に通知してきます。

 

対処案

いくつかあります。

①プラグインを使う

②リンクの貼り方を変える(ページ名のみ貼り付ける)

③functions.phpに設定を加える

参考)

WordPressで内部リンクを貼ると、コメントが届いて承認待ちになっています。 読者からコメントが届いたのかと思って見てみると、どうも自分のサイトのタイトルが表示されているようです。 実はこれ「セルフピンバック」という・・・
WordPress 内部リンクを貼るとコメントが!?~セルフピンバック停止の方法 | WordPr… – yudnaliatah.com

 

③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' );

 

これをfunctions.phpに足して保存して画面に乱れが出なければ成功。

※このコードを紹介してるページによってはPHPの処理の文字が変換されちゃってる場合があります。&がamp;とかなってるのには要注意!

 

Enjoy!

WordPressのおともに最高な書籍たち

WordPress使ってるなら持っておきたい書籍たち