コメントとトラックバックを分けて表示する for WordPress(その1)
WordPress デフォルト状態では、投稿情報や個別記事でのコメントとトラックバックが別々に表示されない仕様になっています。別々に表示されるブログツールやブログサービスを利用された方が WordPress に移行されると、この表示に違和感があるかもしれません(逆に便利と感じるかもしれません)。
このエントリーでは他のサイトでも数多く紹介されている、コメントとトラックバックを独立して表示させるカスタマイズを紹介します。
2009.08.13 追記
本記事には一部不具合があるため、「コメントとトラックバックを分けて表示する for WordPress(改)」をご覧ください。
1.プラグインのダウンロード
下記のサイトよりの「Download」にある Trackping Separator. を右クリックしてプラグインファイルを trackpings.php という名前でダウンロードします。
2.プラグインのアップロード・有効化
ダウンロードした trackpings.php を /wp-content/plugins 配下にアップロードします。その後、WordPress の管理画面にログインし、[プラグイン] で Trackping Separator が表示されていると思いますので、一番右にある「有効化」のリンクをクリックし、緑色の表示になればOKです。
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.php を任意のエディタで開きます。
そして WordPress の管理画面にログインし、[表示] - [テーマエディタ]で「コメント」を選択、comments.php の内容を丸ごとテキストエリアの内容と入れ替え、保存してください。
4.参考・関連リンク
2007.04.11 追記
Trickster さんより頂いたコメントを元に、3.1項のシングルポストの記述を修正しました。
2008.08.03 追記
プラグインバージョン 2.0 以上の変更方法を追加しました。
- WordPressの固定ページでコメントフォームを非表示にする方法
- コメントとトラックバックを分けて表示する for WordPress(改)
- コメントとトラックバックを分けて表示する for WordPress(その2:タイトルを非表示にする方法)
- WordPress のコメントをページ分割する Paged Comments Plugin
≫ コメント/トラックバックを分けて表示する from PARADISE CLUB
WordPress にて、コメント/トラックバックを分けて表示するカスタマイズで... [続きを読む]
≫ WordPressのコメントとトラックバックについて from なないろブログ
台風接近で時間ができたので、WordPressに手を加えたことをメモメモ。
まずはコメントとトラックバックに関すること。
——... [続きを読む]
≫ コメントとトラックバックを分けて表示する from Makologg???
@ET.ではブログツールとしてWordpressを使用していますが、何点か気に入... [続きを読む]
≫ WordPress備忘録 from 四月階段
素敵なテーマ、そしてカスタマイズ、プラグインをお借りいたしました。ありがとうございました。
... [続きを読む]
≫ コメントとトラックバックを別々に表示 from WP Testing!!
今回導入したプラグインはTrackping Separator。
コメントとトラックバックを分けて表示するプラグインです。
え?そんなの当たり前じゃないの... [続きを読む]
≫ コメント?トラックバック?。 from BBLog13
先ほどのエントリでWordPressではコメントとトラックバックが同一に扱われているのに気付き、気になった、と言うよりもコメントなのかトラックバックなのか... [続きを読む]
≫ WordPressdeでコメントとトラックバックを分けて表示する from 鼬(いたち)、キーボードを叩く
ブログを始めてすぐに気づいたことなのですが、トラックバックURLが表示されませんでした。
調べてみると、これはWordPressのデフォルトらしい。
おま... [続きを読む]
こんにちは、お引越しは落ち着かれましたか?
いつも参考にさせていただいてます。
シングルポストの正常性についてですが、Plugin中でシングルポストとページの場合は無視するようになってますよね?(67-70行近辺)
最初に見たときに、「あー、飛ばしてるんだー」と思ってさっくりスルーしてしまったのですが(苦笑)
global $comment_count_cache;
if (! is_single() && ! is_page()) {
if ( !isset($comment_count_cache[$id]))
上記強調部分を外したらもしかしたら表示できるのかなー?と思ってたりします。(自分の中で必要なかったので実は未検証です。単純なSELECT文だから問題ないとは思うのですが...、もしかしたらなにか不都合あるのかなぁ?)
これからもTips楽しみにしています、がんばってくださいませ。(あまり意味のないコメントでゴメンナサイ)
>Tricksterさん
こんにちは。
毎日荷物に埋もれて書いてます(笑)。
シングルポストの件、情報ありがとうございました!
早速試してみたいと思います。
私の方こそ色々と参考にさせて頂いてますので、よろしくお願い致します。
[岩蔭|]_・)ソォーッ
(*゜ロ゜)ハッ!!
なんだか、高度な話題で付いて行けませんが(笑)。
私はこちらの記事を参考にシングルポストページは
投稿者情報からコメント・トラックバックの表示自体を削除
とさせていただきました?
ありがとうございました!
>ミッチさん
こんにちは。
記事参照&コメントありがとうございます。
うまく制御できているようで良かったです。
ではでは!
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に戻しましたら正常に動いているみたいなので、プラグインのアップデートに伴い、中身がかなり変わってるので正常に動かないみたいですね^^;
お時間がある時でかまいませんので、回避策があればお教え頂けますでしょうか。
宜しくお願いします。
連投すみません^^;
PHP Fatal error: Call to undefined function get_comments_only_number() in /wp-content/themes/koikikukan/comments.php on line 46, referer: URL
のエラーも出ております。
>ken さん
こんにちは。
ご返事遅くなってすいません。
ご質問の件ですが、comments_only_popup_link を comments_popup_link に書き換えてください。
不具合が残るようでしたら再度ご連絡頂けますでしょうか。
それではよろしくお願い致します。
お世話になっています。
Trackping Separatorプラグインを無効にして,comments.phpを置き換えると,コメントとトラックバックが分かれて表示されるのですが,Trackping Separatorプラグインを有効にすると,トラックバックが表示されません。
ちなみに,Commented entry listプラグインも有効にしています。
また,シングルポストPHPに"comments_popup_link"が見当たりませんでした。
よろしくお願いします。
初めまして。
この記事を参考に作業を行ったのですが、↑のkokonagaさん同様、
>Trackping Separatorプラグインを無効にして,comments.phpを置き換えると,コメントとトラックバックが分かれて表示されるのですが,Trackping Separatorプラグインを有効にすると,トラックバックが表示されません。
という事象が発生します。
どうやったら修復できるのでしょうか?
無知ですみません。よろしくお願いします。
>よっしーさん
こんばんは。
ご返事遅くなってすいません。
不具合を確認しましたので、以下のURLで記事を書き直しました。
http://www.koikikukan.com/archives/2009/08/13-011717.php
ご確認頂ければ幸いです。
それではよろしくお願い致します。