前回に引き続きWordPressでのコメントとトラックバックを別に表示する方法のメモです。
今回は個別記事内のコメント部分を
・コメント一覧
・コメントフォーム
・トラックバック一覧
・トラックバックURL
というようにする事を目的としてます。
表示するにあたり編集するファイルはcomment.phpのみになります。
こういう風にわかりやすく小分けされてるあたりもwordpressが好きです。
【コメント一覧】
まずは見出しをコメント数のみを表示するため以下に書き替えます。
<?php comments_number('No Comments', '1 Comment', '% Comments' );?>
コメントリスト内はそのままで問題ないですが
<?php wp_list_comments('reply_text=Reply to this comment'); ?>
reply_textで指定すれば表示されるテキストを変更できます。
【コメントフォーム】
こちらはデフォルトのままで問題なさげなのでスルーです。
【トラックバック一覧】
トラックバック一覧は元からないのでコードを追加します。
とりあえずコードはこんな感じ。
<!-- Trackback List --> <?php if ( trackpings('count') > 0 ) : ?> <h3>Trackback List</h3> <ul id="tarckbacklist"> <?php if ($trackbacks = trackpings("", 'both')) { foreach ($trackbacks as $trackback) : ?> <li id="comment-<?php echo($trackback->comment_ID); ?>"> <strong><a href="<?php $tmp_url = esc_url($trackback->comment_author_url, array('http', 'https')); echo($tmp_url); ?>"><?php echo($trackback->comment_author); ?></a></strong> <div> <?php $tmp_content = ereg_replace("(<strong>.*</strong>)(.*)","<p>\\1</p><p>\\2</p>",$trackback->comment_content); echo($tmp_content); ?> </div> <p>Tracked on <?php echo(mysql2date('Y.m.j h:m A', $trackback->comment_date)); ?> <?php if ( $user_ID ) : ?> | <a href="<?php echo(admin_url('comment.php?action=editcomment&c=')); ?><?php echo($trackback->comment_ID); ?>">edit</a> <?php endif; ?></p> </li> <?php endforeach; } ?> </ul> <?php endif; ?>
簡単に説明すると<h3>が見出しで、ulがトラックバックリストの全体で、liでトラックバックの数だけ繰り返しています。
【トラックバックURL】
最後にトラックバックURLを表示します。
こちらも元から表示されていないので以下を追記する形になります。
<!-- Trackback URL --> <?php if ('open' == $post->ping_status) : ?> <h3><?php _e('Trackback URL', 'hoge') ?></h3> <div id="trackback"> <input onfocus="this.select()" readonly="readonly" value="<?php trackback_url(); ?>" id="tb_url" name="tb_url" accesskey="x"/> </div> <?php endif; ?>
ここも同様<h3>に見出しを表示、<input>のvalueでトラックバックURLを表示するようになってます。
コードに関しては書き方が人によって違うで、そのままコピペするとバリデート違反になったりするのでそこら辺は自分で調整してみて下さい。
とりあえずコードを入れて、コメントとトラックバックが表示されていれば問題ないと思うので、そこからHTMLタグを書き替えたり、CSSを調整するなりしてみて下さい。
メモしながら作ってた訳じゃないので、書き忘れ等があるかもしれないのでおかしな所があったらご報告お願い致します。
今更ですがWordpressのバージョンは2.9.2です。
ちなみに参考にさせて頂いた下記サイトの方が詳しくわかりやすく説明されているので確実かもしれません(爆
【参考サイト】
・小粋空間: コメントとトラックバックを分けて表示する for WordPress(改)
・WordPressでTrackback URLのボックスを表示 | Tech de Go
ワシのページ へ返信する コメントをキャンセル