コメントにGravatar画像を表示する(for vicunaテーマ)

このサイトでコメントをいただいた際にちょっと気になっていたことがあったんです。

それはコメント欄が寂しく感じること。何となく殺風景というか、なんというか…。で、コメントをいただいた方に応じて、その方があらかじめ設定しておられるアバターを表示させてはどうかな…と思っていたんです。

WordPressではGravatarというサイトで自分のアバターとコメントを送信する際に使うメールアドレスをセットで登録しておけば、WordPressを使ったブログへコメントを寄せた際にGravatarで設定しておいたメールアドレスを指定してやればアバターが表示されるようになります。ただし次の場合はGravatarで設定していたとしても表示されません。

  • ブログのシステムがWordPressではない
  • コメントを寄せたブログが管理画面にてGravatarを表示しないように設定している
  • 使っているテーマがGravatar表示に対応していない

このサイトで使っているvicuna CMS Ext. Customは残念ながらGravatar表示に対応していないテーマ。なのでWordPressでかつ管理画面でGravatarを表示するように設定していたとしても、寄せていただいたコメントにはGravatarは表示されないのです。

そこでソースコードをちょちょいと変更してGravatarを表示するように変更してみました。

まずはGravatarを表示させるための関数ですが、echo get_avatar()関数を使います。ただしこの関数が使えるのはWordPressのバージョンが2.5以上のもの。それより古いバージョンの場合など、この関数の詳細と詳しい使い方は次のサイトでお勉強してください 😛

Gravatar の使い方 – WordPress Codex 日本語版

使っているテーマはvicunaなんですが、このブログはvicunaのテーマを力業でコメントを入れ子方式に変更しています。なので入れ子方式に対応させるためにfunction.phpに記述した、コメント表示に関するコードを次のように変更。ちなみにAddの記述がある部分が追加した箇所です。

function vicuna_comments($comment, $args, $depth) {
	$GLOBALS['comment'] = $comment;

	if('1' == $comment->comment_approved){ ?>

   			<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
				<div class="comment_ID" id="comment<?php comment_ID() ?>">
					<?php echo get_avatar($comment,$size='32'); //Add ?>
					<span class="name"><?php comment_author_link() ?></span>
					<span class="date"><?php comment_date(__('y-m-d (D) G:i', 'vicuna')) ?></span>
					<?php edit_comment_link(__('Edit', 'vicuna'), '<span class="admin">', '</span>'); ?>

					<span class="reply">
						<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
					</span>

				</div>
				<div class="comment_text">
<?php			comment_text() ?>
				</div>
<?php
	} else if('0' == $comment->comment_approved) {

ちなみに作業はたった1行追加するだけ。これでGravatarで設定したアバターは表示されてしまいます。もしコメントを入れ子方式に対応させてない方でGravatarを表示させたい場合はcomments.phpのコメントの記載に関わる部分(48行目から)を次のようにの場所を変更してください。

/* -- whisper add s -- */
 if('1' == $comment->comment_approved){
/* -- whisper add e -- */
?>
<dt id="comment<?php comment_ID() ?>"><?php echo get_avatar($comment,$size='32'); //Add ?><span class="name"><?php comment_author_link() ?></span> <span class="date"><?php comment_date(__('y-m-d (D) G:i', 'vicuna')) ?></span> <?php edit_comment_link(__('Edit', 'vicuna'), '<span class="admin">', '</span>'); ?></dt>
				<dd>
<?php				comment_text() ?>
<?php

WordPressでvicunaテーマを使っているけど、Gravatarを表示させるにはどうしたら良いんだろ…って思ってらっしゃる方は上記を参考にちょちょいっと試してみてください 😉

「コメントにGravatar画像を表示する(for vicunaテーマ)」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です