Simple APIでコメント欄にサイトのサムネイルを
i d e a * i d e a – トラックバックにサイトの縮小画像を入れてみたで紹介されていたSimple APIを使って、トラックバック元のサイトのサムネイルを表示するTipsをWordPressでも試してみました。WPではコメントとトラックバック・ピンバックが区別されずに一緒に並んでしまうので、ちょびっと工夫が必要です。
今回はEasy ALLをサンプルに進めていきます。手を加えるファイルはcomments.phpです。他のテーマを使っている場合もほとんど同じなので、試してみてくださいね。<?php comment_text() ?>を探してみて下さい。
トラックバック・ピンバックのみサムネイルを表示する
まずはシンプルにトラックバック・ピンバックのみサムネイルを表示する場合を紹介します。このように表示されます。
comments.phpの16行目あたりをこのように置き換えます。
<li id="comment-<?php comment_ID() ?>"><?php comment_text() ?><?php if (get_comment_type() != 'comment') : ?><p><a href="<?php comment_author_url(); ?>" rel="external nofollow"><img src="http://img.simpleapi.net/small/<?php comment_author_url(); ?>" width="128" height="128" alt="<?php comment_author(); ?>" title="<?php comment_author(); ?>" /></a></p><?php endif; ?><p class="meta"><?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> <?php _e('by'); ?> <?php comment_author_link() ?> — <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a> <?php edit_comment_link(__("Edit This"), ' |'); ?></p></li>
3~6行目が今回追加した部分です。変更したらアップロードして確認してみましょう。確認できたら、表示スタイルを弄ってもいいかもしれません。
普通のコメントのURLもすべてサムネイル表示
コメント投稿時に入力されたURLもサムネイル表示してしまいましょう。こちらもcomments.phpの16行目あたりをこのように置き換えます。
<li id="comment-<?php comment_ID() ?>"><?php comment_text() ?><?php if ($comment->comment_author_url != "") : ?><p><a href="<?php comment_author_url(); ?>" rel="external nofollow"><img src="http://img.simpleapi.net/small/<?php comment_author_url(); ?>" width="128" height="128" alt="<?php comment_author(); ?>" title="<?php comment_author(); ?>" /></a></p><?php endif; ?><p class="meta"><?php comment_type(__('Comment'), __('Trackback'), __('Pingback')); ?> <?php _e('by'); ?> <?php comment_author_link() ?> — <?php comment_date() ?> @ <a href="#comment-<?php comment_ID() ?>"><?php comment_time() ?></a> <?php edit_comment_link(__("Edit This"), ' |'); ?></p></li>
トラックバック・ピンバックの場合と比べると3行目が変更されています。URL欄が空でなければ、という条件になっています。そのため「http://」となっているときもサムネイルが表示されてしまう(NO PHOTOとでます)という欠点があります。もうちょっと条件を工夫すればいいのかもしれませんが…
愛の詩 (o^ω^)o Said,
2006年10月9日 @ 13:58:37
参考になりました。ありがとうございました!!
よしとも Said,
2006年12月13日 @ 02:46:58
初めまして。URLなしの場合の対処方法を探していてたどり着きました。$comment->comment_author_url というのがあるのですね。
3行目を次のように変更すると、アドレスのない場合に対処できます。
$comment->comment_author_url != ‘http://’
アドレスがない場合は http:// だけになるので、” ではなく ‘http://’ と一致するかどうかで分岐すればいいわけです。おためしあれ。
よしとも Said,
2006年12月13日 @ 03:53:50
すみません。処理が抜けてました。手抜きは駄目ですね。次のように変更です。
$comment->comment_author_url and $comment->comment_author_url != ‘http://’
これで、アドレスが入っていて、かつ http:// だけでないという条件になります。
なお、こちらの記事からトラックバックさせていただきました。
鎌田林檎 Said,
2007年1月16日 @ 19:51:13
導入の参考になりました。
Ronald Washington Said,
2009年5月1日 @ 14:41:52
hsimbj80tssjmee5
でコメント欄にサイトのサムネイルを