[WordPress]トラックバック受信システムを実装し、URLを表示する方法

2018年現在のブログ事情では、「アメブロ」「楽天」から始まり「Seesaa」「livedoor」「Goo」までが廃止してしまい、もう大手では「FC2」くらいしか残っていない感覚のトラックバックシステム。

WordPressには元々トラックバックというシステムはありませんが、コードを追加することによって実装することができます。

ワードプレスでトラバを使う

当方のメインブログでは実装してずっと使って来たのですが、このたびテーマ「Simplicity」をやっと最新版に更新したら消えてしまいまして(いや、テーマのせいではなくて親テーマを編集するというダメなことをやっていたので、当たり前だけれども更新したら消えた(爆))

はるか以前にやったことを再びやらなければならなくなったので覚書き。

1. トラックバック受信の設定をする

まずダッシュボードの「設定」→「ディスカッション」の上の方。

「投稿のデフォルト設定」「新しい記事に対し他のブログからの通知 (ピンバック・トラックバック) を受け付ける」にチェックを入れて保存します。

wp-tb1

2. トラックバックURLをコメントフォーム近くに表示する

「受け付ける設定」をしただけではブログ上に表示されないので、まずはコメントフォーム近くにトラバURLを表示したい。
これがなければ訪問して下さった方がトラバを飛ばすことができないので……。

wp-tb4

当方はコメントフォームの上に設置したかったので、「comments.php」の最上部、 <?php comment_form(); ?> の上に挿入します。

言うまでもないことですが、もう二度と過ちは繰り返したくないので「comments.php」は子テーマに作ってそちらを編集。

関連記事

Wordpressには様々なテーマ(無料ブログシステムでいうところの「テンプレート」の雛形といったところでしょうか)があります。   ダッシュボードから簡単にインストールできる無料の公式テーマ、優秀なプログラマーさんが作って配[…]

親子テーマ

 

記載したコードは以下(コピペ化)

<h3>この記事のトラックバック用URL</h3>
<input class="trackback_field" type="text" readonly="readonly" onfocus="this.select();" value="<?php trackback_url(); ?>">
これだけです。

wp-tb5

3. 受信したトラックバックをコメントと分けて表示する

WordPressには「コメントとトラバを分ける」という概念がありません。

コメントもTBもPINも全て「ディスカッションだろっ!」という事らしいです。

wp-tb2

しかし、トラックバックとコメントがごちゃ混ぜの状態は見栄えもよくありません。ので、分け、それぞれにカウントをつけるという作業をします。

<?php comment_form(); ?> の下に挿入します。

 

<?php if (isset($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
	die ('Please do not load this page directly. Thanks!');
if ( post_password_required() ) { ?>
	<p class="nocomments">This post is password protected. Enter the password to view any comments.</p>
<?php return; } ?>
 
<?php if (have_comments()): ?>
	<div id="comping">
	<?php $comments_cnt=get_comment_only_number(); ?>
	<!-- コメント -->
	<?php if ($comments_cnt > 0) { ?>
		<h3><?php echo $comments_cnt; ?>件のコメント</h3>
		<ul class="commentlist">
			<?php wp_list_comments('type=comment&callback=mytheme_comment'); ?>
		</ul>
	<?php } ?>
	<!-- トラックバック -->
	<?php if (get_comments_number()-$comments_cnt > 0) { ?>
		<h3><?php echo get_comments_number()-$comments_cnt; ?>件のトラックバック</h3>
		<ul class="pinglist">
			<?php wp_list_comments('type=pings&callback=mytheme_pings'); ?>
		</ul>
	<?php } ?>
	</div>
<?php endif; ?>

これで綺麗に分けられます。

wp-tb3

ちなみに実装しているのはこのブログではなくて趣味のメインブログの方です。(2018年10月時点)FC2がトラバを廃止するまでは付けておいてみようかなと……。

ドラマ@見とり八段

ドラマのシーンとセリフを切り取ったあらすじレビュー(復習ネタバレ)と感想を中心としたブログです…

トラックバック送信のやり方

送信する場合は、各記事投稿画面の右上「表示オプション」タブを開いて「トラックバック送信」にチェックを入れると、投稿画面下にトラバURL記入欄が出て来るので、そこから送信できます。

ただ、WordpressはPIN送信暴走する性質があり、同じ所にスパムのようにトラバを送り続けてしまうので、私は別の方法で送っています。(面倒ですが、送る量はそう多くないので。)

関連記事

トラックバック送信機能がないブログからトラックバックを送信する はてなブログにはトラックバック機能がない 映画ブログを「はてな」でやるかどうか考えた時、これが引っかかりになった。 恐らくは WordPress と同じような方針[…]

pin送信
サポートよろしくお願いします

 

いつもありがとうございます。この記事を気に入って下さった方、「寄付してあげてもいいよ」という方がいらっしゃったらサポートしていただけると嬉しいです。


Amazonギフト券- Eメールタイプ – Amazonベーシック


金額は空白欄に適当に(15円から)書きこんで下さい。(あらかじめ入っている金額はAmazonの設定なので気になさらないでください)。

メールのあて先は 「ageru15@gmail.com」です。

※上記のアドレスは投げ銭受け取り専用です。他のメールは受け取れない設定にしてあるのでご注意ください。

 

 

 

よろしくお願いいたします。

なお、この投げ銭システムに関する記事はこちら→『ブログに「投げ銭」システムをつける方法を考えてみたまとめ』