WordPressでトラックバックURLを表示する

WordPressではピンバックとトラックバックをサポートしている。ピンバックはWordPress同士でブログを運営している場合に、他のブログのURLを張った際に、相手がピンバックを拒否している場合やピンバックを送信しないように設定している場合を除いてピンバックを送信するようになっている1 。一方、WordPress以外のブログに対してはトラックバックを送らなければならず、その際にはトラックバック用のURLが必要になる。テーマにもよるが、WordPressではトラックバックURLを表示しないため、トラックバック送信には若干不便である。ここではトラックバック用URLを表示してみたい。

トラックバックURL表示方法

友達100人できるかな?WordPressでトラックバック用のURLを表示する方法』(OXY NOTES)でも述べられている通り、通常は以下のPHPコードを追加するだけである。トラックバックURLを表示した後のスパム対策など諸々の設定についても詳しく述べられているので、ぜひ参考にしてもらいたい。

[code lang=”php”]<?php trackback_url(); ?>[/code]

ただ、OXY NOTES氏の方法では、コメントを閉じている場合でも表示されてしまう。その対策として以下のようにphpのcomments_open()を使うことでコメント欄を開いているかどうかを判定した上で表示するかどうかを振り分けることができるようになる。

[code lang=”php”]<?php
if( comments_open() ) :
?>

<h3>トラックバックURL</h3>
<input class="trackback_field" type="text" readonly="readonly" onfocus="this.select();" value="<?php trackback_url(); ?>">
<?php
endif;
?>[/code]

こうすることで、コメント欄を開いている場合に限りトラックバックURLを表示できるようになる。

なお、トラックバックURLは以下のように表示される。

トラックバックURL表示サンプル

解説

comments_open()という関数は、コメントを受け付けているかどうかを判定している関数で、投稿IDを省略することで現在の投稿がコメントを受け付けているかどうかを判定することができる。また、

[code lang=”php”]<?php if (…) : ?>[/code]

[code lang=”php”]<?php endif; ?>[/code]

を囲むことによって、条件2 を満たした場合に限って指定したHTML3 表示することができるというわけである。

最後に

WordPressではトラックバックそのものは対応しているが、トラックバックURLを表示しない設定となっており、PHPを修正しないと表示してくれない不親切な仕様となっている4

トラックバックURLを表示するように変更することによって、WordPressを使っていないブログからも容易にトラックバックを送れるようにすることでできることを検討するとよいだろう。

ウェブマスター。本ブログでITを中心にいろいろな情報や意見などを提供しております。仕事依頼や相談などについては、Contact Formよりお願いいたします。
  1. テーマによっては独自に対策を行っている場合もあるが、デフォルトでは自分自身のブログにもピンバックを行ってしまう問題がある。これについてはWordPressのテーマによってはデフォルトでセルフピンバック抑止をつけているのもあるを参照されたい []
  2. ここではコメントを受け付けているかどうか []
  3. ここではトラックバック用URL []
  4. テーマあるいはプラグインによっては表示してくれるようになるものもあるかもしれないが []
スポンサーリンク

フォローする