やっと対応!WordPress2.7 のコメント入れ子表示

公開日: 2009年1月29日木曜日 WordPress

Before
Before

After
After

WordPress2.7になってコメントの入れ子機能が追加になったと情報がありましたが、2.7に対応していないテーマでどう適用すればいいかわかっていませんでした。
なのでちょちょっと時間をとって対応。

▼参考
Migrating Plugins and Themes to 2.7/Enhanced Comment Display « WordPress Codex

現在使っているテーマの comments.php を確認し、コメントを表示している部分を探します。
当ブログで使っているテーマの場合は、comments.php の 25~50行目あたりの、
[php]
    [/php]
    と
    [php]
[/php]
の間でコメントを表示していました。

そこに
[php]if ( function_exists('wp_list_comments') ) :
wp_list_comments();
else :
// 既存のコメント表示処理
endif;[/php]
こんな感じで、これまでのコメント表示は else ~ endif の間に入れるようにします。
表示のみならこれだけ!カンタン!
※デリミタ(<?php や ?>)がいるところは補足します。

ひとまずこれで comments.php をアップして、入れ子表示になっているか確認してもいいかもしれません。

表示に関しては表示に使っている id や class を確認し、好みの表示になるようスタイルシートを編集します。

さて、続いてコメントフォームのタイトル。
「コメントを入力してください」を表示しているところ、当ブログの場合は「Leave a Reply」ですがそこを探して変更します。

変更前
[php]

Leave a Reply

[/php]

変更後
[php]

< ?php comment_form_title( 'Leave a Reply', 'Leave a Reply to %s' ); ?>


< ?php cancel_comment_reply_link() ?>
[/php]

これにより、通常のコメントフォームの場合は
通常コメントのフォーム
こんな感じでこれまで通りのもの。

コメント欄の『Reply』をクリックして返信をする場合は
返信コメントのフォーム
こんな感じで、誰への返信なのかわかるようになります。
また、すぐ下の『Click here to cancel reply.』をクリックすると、返信をキャンセルし通常のコメントフォームに戻ります。

そして最後に入力フォームのところにおまじないを。
[php] < ?php comment_id_fields(); ?> [/php]
を記述します。
私は submit ボタンのすぐ上に記述しました。

これで通常のコメントなのか、それとも誰かのコメントに対しての返信なのかがわかります。

ちなみに入れ子機能は、管理画面 > 設定 > ディスカッション の 他のコメント設定 のところで行います。
当ブログの場合は、2階層までの入れ子表示にしています。

2.7にしてからずっと気になってたのよね、コメントのスレッド表示。
やっとできました;-p

2009-02-23
※この記事にのみスパムが多いので実験的にコメント/トラックバック/ピンバックを停止。

2009-02-27 1:00
※試しにまたオープンにしてみる
2009-02-27 10:30
※やっぱダメだ。スパムがきやがるのでまた停止。
  • ?±??G???g???[?d????u?b?N?}?[?N???A

0 件のコメント :

コメントを投稿