コメントとトラックバックを分けて表示する for WordPress(その1)

コメントとトラックバックを分けて表示する for WordPress(その1)

Posted at April 11,2007 1:05 AM
Tag:[Comment, Customize, Plugin, Trackback, WordPress]

WordPress デフォルト状態では、投稿情報や個別記事でのコメントとトラックバックが別々に表示されない仕様になっています。別々に表示されるブログツールやブログサービスを利用された方が WordPress に移行されると、この表示に違和感があるかもしれません(逆に便利と感じるかもしれません)。

このエントリーでは他のサイトでも数多く紹介されている、コメントとトラックバックを独立して表示させるカスタマイズを紹介します。

2009.08.13 追記
本記事には一部不具合があるため、「コメントとトラックバックを分けて表示する for WordPress(改)」をご覧ください。

1.プラグインのダウンロード

下記のサイトよりの「Download」にある Trackping Separator. を右クリックしてプラグインファイルを trackpings.php という名前でダウンロードします。

Trackping Separator

Trackping Separator

2.プラグインのアップロード・有効化

ダウンロードした trackpings.php を /wp-content/plugins 配下にアップロードします。その後、WordPress の管理画面にログインし、[プラグイン] で Trackping Separator が表示されていると思いますので、一番右にある「有効化」のリンクをクリックし、緑色の表示になればOKです。

Trackping Separator

3.テンプレートの修正

WordPress の管理画面にログインし、[表示] - [テーマエディタ]で以下の各テンプレートを修正します。

3.1 インデックス/アーカイブ/検索結果/シングルポスト

インデックス/アーカイブ/検索結果/シングルポストの各テンプレートに投稿者情報(投稿時間・カテゴリー等)がある場合は、 comments_popup_link で検索し、

<?php comments_popup_link('No Comments', '1 Comment', '% Comments'); ?>

というタグを見つけ、下記のように変更します。変更前のタグの内容はご利用のテンプレートによって若干異なりますのでご注意ください。

WordPress 2.5 以上 + プラグインバージョン 2.0 以上の場合

<?php comments_popup_link('Comments (0)', 'Comments (1)', 'Comments (%)'); ?> | <a href="<?php the_permalink() ?>#trackback" title="Trackback" class="trackacklink">Trackbacks (<?php echo trackpings('count'); ?>)</a>

WordPress 2.4 以前 + プラグインバージョン1.1.1の場合

<?php comments_only_popup_link('Comments (0)', 'Comments (1)', 'Comments (%)'); ?> | <a href="<?php the_permalink() ?>#trackback" title="Trackback" class="trackacklink">Trackbacks (<?php echo trackpings('count'); ?>)</a>

なお、シングルポストではコメント数の表示の正常性が確認できておりません。シングルポストで動作を有効にする場合、プラグインバージョン1.1.1であれば、下記(抜粋)の赤色部分、

function comments_only_popup_link($zero='No Comments', $one='1 Comment', $more='% Comments', $CSSclass='', $none='Comments Off') {
    global $id, $wpcommentspopupfile, $wpcommentsjavascript, $post, $wpdb;
    global $comment_count_cache;
 
	if (! is_single() && ! is_page()) {
        if ( !isset($comment_count_cache[$id]))
      :
     (略)
      :
            echo '</a>';
        }
	}
}

を削除またはコメントアウトすれば動作するようです。ただしあえてこのような実装になっているので、コメントアウトまたは削除することでシングルポストやゲストブックの他の部分に何らかの影響があるかもしれません(この点につきましては未確認です)。

またシングルポスト自体にはコメント本文とトラックバック本文が表示されるので、当サイトでの配布テンプレートのように投稿者情報を本文下に表示している場合は、投稿者情報からコメント・トラックバックの表示自体を削除しても良いかもしれません。

3.2 コメント

ここでは公開テンプレート用の comment.php を丸ごと入れ替える手順で説明します。下記のいずれかのリンクをクリックしてコメント用テンプレートをダウンロードします。

comments.zip / comments.lzh

解凍した中にある comments.php を任意のエディタで開きます。

そして WordPress の管理画面にログインし、[表示] - [テーマエディタ]で「コメント」を選択、comments.php の内容を丸ごとテキストエリアの内容と入れ替え、保存してください。

4.参考・関連リンク

2007.04.11 追記
Trickster さんより頂いたコメントを元に、3.1項のシングルポストの記述を修正しました。

2008.08.03 追記
プラグインバージョン 2.0 以上の変更方法を追加しました。

関連記事
トラックバックURL


トラックバック

コメント/トラックバックを分けて表示する from PARADISE CLUB
WordPress にて、コメント/トラックバックを分けて表示するカスタマイズで... [続きを読む]

Tracked on April 27, 2007 11:50 PM

WordPressのコメントとトラックバックについて from なないろブログ
台風接近で時間ができたので、WordPressに手を加えたことをメモメモ。 まずはコメントとトラックバックに関すること。 ——... [続きを読む]

Tracked on July 17, 2007 11:33 AM

コメントとトラックバックを分けて表示する from Makologg???
@ET.ではブログツールとしてWordpressを使用していますが、何点か気に入... [続きを読む]

Tracked on November 25, 2007 5:02 PM

WordPress備忘録 from 四月階段
素敵なテーマ、そしてカスタマイズ、プラグインをお借りいたしました。ありがとうございました。 ... [続きを読む]

Tracked on February 17, 2008 1:34 PM

コメントとトラックバックを別々に表示 from WP Testing!!
今回導入したプラグインはTrackping Separator。 コメントとトラックバックを分けて表示するプラグインです。 え?そんなの当たり前じゃないの... [続きを読む]

Tracked on June 5, 2008 5:38 PM

コメント?トラックバック?。 from BBLog13
先ほどのエントリでWordPressではコメントとトラックバックが同一に扱われているのに気付き、気になった、と言うよりもコメントなのかトラックバックなのか... [続きを読む]

Tracked on June 17, 2008 11:41 PM

WordPressdeでコメントとトラックバックを分けて表示する from 鼬(いたち)、キーボードを叩く
ブログを始めてすぐに気づいたことなのですが、トラックバックURLが表示されませんでした。 調べてみると、これはWordPressのデフォルトらしい。 おま... [続きを読む]

Tracked on August 22, 2008 7:45 PM
コメント

こんにちは、お引越しは落ち着かれましたか?
いつも参考にさせていただいてます。

シングルポストの正常性についてですが、Plugin中でシングルポストとページの場合は無視するようになってますよね?(67-70行近辺)

最初に見たときに、「あー、飛ばしてるんだー」と思ってさっくりスルーしてしまったのですが(苦笑)

global $comment_count_cache;
if (! is_single() && ! is_page()) {
    if ( !isset($comment_count_cache[$id]))

上記強調部分を外したらもしかしたら表示できるのかなー?と思ってたりします。(自分の中で必要なかったので実は未検証です。単純なSELECT文だから問題ないとは思うのですが...、もしかしたらなにか不都合あるのかなぁ?)

これからもTips楽しみにしています、がんばってくださいませ。(あまり意味のないコメントでゴメンナサイ)

[1] Posted by Trickster : April 11, 2007 9:27 AM

>Tricksterさん
こんにちは。
毎日荷物に埋もれて書いてます(笑)。

シングルポストの件、情報ありがとうございました!
早速試してみたいと思います。
私の方こそ色々と参考にさせて頂いてますので、よろしくお願い致します。

[2] Posted by yujiro : April 11, 2007 3:15 PM

[岩蔭|]_・)ソォーッ
(*゜ロ゜)ハッ!!

なんだか、高度な話題で付いて行けませんが(笑)。

私はこちらの記事を参考にシングルポストページは

投稿者情報からコメント・トラックバックの表示自体を削除

とさせていただきました?

ありがとうございました!

[3] Posted by ミッチ : April 11, 2007 9:25 PM

>ミッチさん
こんにちは。
記事参照&コメントありがとうございます。
うまく制御できているようで良かったです。
ではでは!

[4] Posted by yujiro : April 13, 2007 6:45 PM

yujiroさん

いつもお世話になっています。

trackping separator プラグインですが、昨日Ver.2.0.1がでました。
#ダウンロード先のOther Versions内にVer.1.1.1がないのでもう落せないかな?

Ver.2.0.1にUPしますと下記エラーが出ます。

PHP Fatal error: Call to undefined function comments_only_popup_link() in /wp-content/themes/koikikukan/index.php on line 27

バックアップしていたVer.1.1.1に戻しましたら正常に動いているみたいなので、プラグインのアップデートに伴い、中身がかなり変わってるので正常に動かないみたいですね^^;

お時間がある時でかまいませんので、回避策があればお教え頂けますでしょうか。
宜しくお願いします。

[5] Posted by ken : July 21, 2008 10:11 AM

連投すみません^^;

PHP Fatal error: Call to undefined function get_comments_only_number() in /wp-content/themes/koikikukan/comments.php on line 46, referer: URL

のエラーも出ております。

[6] Posted by ken : July 21, 2008 10:34 AM

>ken さん
こんにちは。
ご返事遅くなってすいません。
ご質問の件ですが、comments_only_popup_link を comments_popup_link に書き換えてください。
不具合が残るようでしたら再度ご連絡頂けますでしょうか。
それではよろしくお願い致します。

[7] Posted by yujiro logo : August 3, 2008 5:25 PM

お世話になっています。
Trackping Separatorプラグインを無効にして,comments.phpを置き換えると,コメントとトラックバックが分かれて表示されるのですが,Trackping Separatorプラグインを有効にすると,トラックバックが表示されません。
ちなみに,Commented entry listプラグインも有効にしています。

また,シングルポストPHPに"comments_popup_link"が見当たりませんでした。

よろしくお願いします。

[8] Posted by KokoNaga : October 30, 2008 4:57 PM

初めまして。

この記事を参考に作業を行ったのですが、↑のkokonagaさん同様、

>Trackping Separatorプラグインを無効にして,comments.phpを置き換えると,コメントとトラックバックが分かれて表示されるのですが,Trackping Separatorプラグインを有効にすると,トラックバックが表示されません。

という事象が発生します。

どうやったら修復できるのでしょうか?
無知ですみません。よろしくお願いします。

[9] Posted by よっしー : August 3, 2009 4:34 PM

>よっしーさん
こんばんは。
ご返事遅くなってすいません。
不具合を確認しましたので、以下のURLで記事を書き直しました。
http://www.koikikukan.com/archives/2009/08/13-011717.php
ご確認頂ければ幸いです。
それではよろしくお願い致します。

[10] Posted by yujiro logo : August 13, 2009 1:24 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)