友達100人できるかな?WordPressでトラックバック用のURLを表示する方法


投稿日:2012年3月5日
  • 6
  • 3
  • 0



ブログ同士を繋げるトラックバック機能を使って、たくさんの人と繋がろう

WordPressではピンバックトラックバックをサポートしています。WordPress同士はピンバック機能があるのでリンクしただけで互いにリンクが貼られます。
それ以外のブログとリンクを貼るには、トラックバック用のURLを入力してもらう必要があります。トラックバック用のURLを表示して、相手のブログと繋がりましょう。

そこで今回は「トラックバック用のURLをコメント欄の後に追加する方法」と「トラックバック機能が動作しないときに陥りがちな失敗の解決法」を紹介します。


追加方法

トラックバック用のURL自体はテーマファイルに以下のタグを追加するだけです。

<!--?php trackback_url(); ?-->

ではこのタグを使って、実際にコメント欄の下にトラックバック用のURLを表示してみます。
loop-single.php」の<?php comments_template( ”, true ); ?>直後に、下のコードを追加

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

解説

readonly=”readonly”」で、入力や改変ができないようにします。
onfocus=”this.select();”」を追加することで、テキストエリアをシングルクリックした時に全体が選択されるようになります。(Chromeだと選択できません。)
value=”<?php trackback_url(); ?>”」でトラックバック用のURLを表示しています。

後は「class=”trackback_field”」を指定してあるので「style.css」でデザインを調整すれば完了です。
当サイトでは以下のように追加しました。

.trackback_field{
	width: 98%;
}

このページの下にサンプルがありますが、こんな感じで表示されます。


トラックバックやピンバックが動作しない場合

トラックバックを送信してもらってるはずなのに動作しない」そんなときにありがちな失敗と改善方法を解説します。

ディスカッション設定が適切にされていない

WordPressの設定で有効になっていないと、いくらトラックバックを送っても動作しません。有効にするには以下のようにします。

管理画面で、「設定 > ディスカッション設定」をクリック。
他のブログからの通知 (ピンバック・トラックバック) を受け付ける」にチェック。
変更を保存」をクリック。
以上で設定完了です。

WP-SpamFreeが原因で動作しない

スパムを強力に弾いてくれるプラグイン「WP-SpamFree」。その威力は正常なトラックバックも弾くほど・・・。って、いかんがな!
というわけで、トラックバックを受け取りたい方はプラグインを停止しましょう。

設定画面で「プラグイン > WP-SpamFree」で「停止」をクリック。

(当サイトでも今までのトラックバック・ピンバックを全て弾いてましたw 今までトラックバック・ピンバック頂いてた方々すいません。)


リンクのないトラックバックを許可しない方法

スパム対策は「Akismet」だけでも十分ですが、「WP-SpamFree」を削除したので、少し不安だ。という方には「Simple Trackback Validation」がおすすめです。

このプラグインは自分のサイトへリンクが無いトラックバックはスパム扱いする。というものです。これでリンクジュース目的のトラックバックスパムは排除できます。
プラグインのインストール方法は「WordPressにプラグインをインストールする方法」を参照してください。

解説

大きく分けて3つの設定をします。

1.How to deal with spam trackbacks?」はスパム判定したトラックバックの扱いについて。一番上は「承認待ち」に入れるという設定です。削除するかどうか自分で最終判断ができるので、おすすめの設定です。
Additional options:」というオプションがありますが、スパム判定したトラックバックの先頭に文字列を追加するという設定です。あとで分類するときに便利なのでチェックを入れておきましょう。

2.Validation Phase 1: IP Address」トラックバックが貼られたブログと送信元のIPが異なる場合にスパム扱いする設定です。某大手ブログなどは別IPになっているのでチェックしないほうがいいです。

3.Validation Phase 2: URL」はメインの設定です。URLがどういった形で含まれていれば正常のトラックバックと判断するかという設定です。「Validate URL」にチェックを入れて有効。

Strictness:」でステータスを設定できます。
Strict: A permalink needs to be used」は厳密にページのURLが含まれているか調べる設定です。この設定がおすすめです。例「http://example.com/hoge
Any link beginning with the following URLs is allowed: 」はサイトの一部でもURLが含まれていれば承認する設定です。例「http://example.com

以上設定が終了したら「Update Options」をクリック。
これで自分のサイトへのURLが含まれないトラックバックを承認待ちに入れる設定が完了です。


サンプルは下のコメント欄をご覧ください。動作確認がしたい場合はこのページにトラックバックを送ってください。このページに限りテスト用トラックバックも承認します。



現在のページを共有する



現在のページに関連する記事


おすすめの記事


いただいたコメントなど

  1. ピンバック: トラックバックできない その4 | bootaのBLOG、略してBooLOG!

  2. cheech のコメント:

    お世話になります。
    いつも大変参考にさせていただいております。

    無知で申し訳ありませんが、記事のトラックバックを『投稿の編集』画面自体に表示させたいのですが、可能でしょうか?

    宜しくお願いします。

    • Oxy のコメント:

      cheechさんへ
      はじめまして、参考にしていただきありがとうございます。また、ご質問いただきありがとうございます。こうしたアクションがあるのが、1番の励みになります。

      トラックバックを「投稿の編集画面自体に表示させたい」とのことですが、「add_meta_box」という関数を利用するのが手軽でお勧めです。

      利用しているテーマの「function.php」の最後に以下のコードを追加してください。

      // 投稿画面に追加する文言の指定
      function new_meta_box_inside() {
          trackback_url();
      }
       
      // メタボックスを追加する関数
      function new_meta_box_output() {
          add_meta_box('new_meta_post_page', 'トラックバックURL', 'new_meta_box_inside', 'post', 'side', 'low' );
      }
       
      // お決まりのフック
      add_action('admin_menu', 'new_meta_box_output' );
      

      これでアイキャッチを設定するメタボックスの下あたりにトラックバック用のURLが表示されるはずです。
      表示されない場合は編集画面の右上にある「表示オプション」から「トラックバクURL」にチェックを入れてください。

  3. cheech のコメント:

    素早い返信ありがとうございます。
    めちゃくちゃ助かりましたm(_ _)m

    早速トライしてみます!
    これからもよろしくお願いします。

  4. cheech のコメント:

    導入できました、どんぴしゃです!
    多謝ですm(_ _ )m

    • Oxy のコメント:

      ご報告ありがとうございます。
      お役に立てたようで、何よりです。

  5. ピンバック: TwentyTenの個別ページにTrackback URLを表示する方法

コメントを残す

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。面倒な登録なしでご利用になりれます。