• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

Gravatar の使い方

提供: WordPress Codex 日本語版
移動先: 案内検索

Gravatar とは?

Gravatar (Globally Recognized Avatar) とは、広い範囲で利用できるアバターです。Gravatar はアイコンであり、フォーラム、チャット、ウェブサイトのような仮想現実上のオンライン・コミュニティの中で、そのユーザーの身代わりとなって、他のユーザーと自分自身を区別できるようにします。

トム・ワーナー(Tom Werner)によって開発された Gravatar を使えば、複数のウェブサービス上で共通するアバターを持つことができます。アバターは、通常、80×80ピクセルのユーザーが作成した画像です。

ファイル:gravatars-in-comments.png
コメント欄に表示される Gravatar

Gravatar は基本的にアバターと同じものですが、1つのサーバーで管理され、MD5 アルゴリズムによって暗号化されたユーザーのメールアドレスによって呼び出されます。そのため、利用者は訪れたフォーラムやブログごとにアバターを設定する代わりに、どこでも同じアバターを利用できるようになります。

Gravatarは、Gravatar WordPress Plugin を利用するか、index.phpcomments.phpcomments-popup.php といったテンプレートファイルに記述することで、簡単に WordPress の中で使うことができます。

Gravatar を作成する

Gravatar は、サーバーに動的にリクエストされる画像リソースです。リクエスト URL をセグメント別に、以下に示します。まず、URL は常に次のように始まります:

http://www.gravatar.com/avatar.php?

さらに、gravatar_id というパラメータが必ず続きます。その値は、リクエストされたユーザーのメールアドレスを16進の MD5 ハッシュで暗号化したもので、すべての空白文字は省かれ、大文字と小文字は区別されません。

gravatar_id=279aa12c3326f87c460aa4f31d18a065

さらに、[G | PG | R | X]というレーティング最高値を示す、オプションの rating パラメータが付け加えられることもあります。

&rating=R

Gravatar は、利用者がレーティングを決めることができるように、レーティングチェックサービスも提供しています。

オプションの size パラメータには、Gravatar の幅と高さを指定します。有効な値の範囲は1から80です。オリジナルの Gravatar の画像が80を超えている場合は、表示される画像がバイキュービック(bicubic)方式で、再サンプリングされて解像度が下げられます。

&size=40

オプションのdefaultパラメータには、リクエストされたメールアドレスがgravatarと連携していない場合や Gravatar がrating パラメータよりも高いレーティングの場合に返される特定のフル URL、コード化された URL、または GIF、JPEG や PNG 画像などが含まれるプロトコルを指定します。

&default=http%3A%2F%2Fwww.somesite.com%2Fsomeimage.jpg

オプションの border パラメータには、Gravatar に描かれる1ピクセルの境界線を16進数の値で指定します。指定される値は、6文字の16進文字列(例:赤の場合は FF0000)か、省略形の3文字の16進文字(例えば赤のための F00)のどちらかになります。

&border=FF0000

WordPressでGravatarsを使う

一般の人にとって、メールアドレスをMD5で暗号化することは容易ではありません。また、作業のほとんどはPHPや他のスクリプトで書かれたフォームで行われます。Gravatar.com PluginGravatars2 Enhanced Caching Pluginなど、いくつかの WordPress Pluginsは、この作業のために作成されました。詳細情報は、これらのプラグインをインストールして、各プラグインのドキュメントテーションを参照してください。

なお、WordPress 2.5には、Gravatar 機能が内蔵されているので、使用したり管理するためにプラグインは必要ありません。

WordPress 2.5では、管理画面で Gravatar の設定ができるようになり、テーマ作者と一般のWordPressユーザーのどちらもGravatarが利用しやすくなりました。テーマ作者は Gravatar をテーマのデザインに組み込むことができるようになったので、今後はより多くのテーマで組み込まれるべきです。WordPress ユーザーは、Settings > Discussion Administration PanelでGravatarをより簡単に設定できるようになります。


WordPressユーザーは、以下の設定ができます:

  • アバター(Gravatar)を表示したり表示しないようにしたりできる。
  • アバターの閲覧制限のレーティングを設定できる。


WordPress 2.5に対応したテーマ

WordPress 2.7 以降対応のテーマでは get_avatar() の追加は不要です(参照)。

Gravatar をテーマに加えるには、get_avatar と呼ばれる関数を利用します。この関数は、アバターの完全な画像 HTML タグを返します。

この関数は、以下のように呼び出されます:

  <?php 
   echo get_avatar( $id_or_email, $size = '96', $default = '<path_to_url>' ); 
   ?>

パラメータは以下の通りです:

  • id_or_email(必須):作成者のUser ID(整数または文字列)、メールアドレス(文字列)またはコメント・ループのコメント・オブジェクト。注:ほとんどのコメントテンプレートでは、コメントを付けた人の Gravatar を示すために、$commentを使うことができます。他のテンプレートではget_the_author_meta('user_email') を使います (ただし、バージョン 2.8 以前では get_the_author_id())。
  • size(オプション):アバターの表示サイズ(最大512)。
  • default(オプション):アバターの標準として利用されるロケーション(アバターと関連する電子メールアドレスがない利用者に適用される)。空白のままの場合は、次のような Gravatar が標準として適用されます。


若干の注意事項:

  • size パラメータでアバターのサイズが指定されない場合は、アバターの標準サイズは96x96になります。
  • デフォルトのアバターは、Gravatar です。
  • アバターは、ユーザーが管理画面で[アバターを表示する]と設定されている時だけ表示されます(デフォルトの設定では表示)。
  • アバターは、ユーザーが管理画面で設定したレーティングだけに基づいて表示されます。


コード出力:

デフォルトの設定では、上記の関数を使用した出力は以下のようなリストになります。さまざまなクラスが、要素のスタイル付けをするために、img 要素に適用されます。

<img alt='' src='http://gravatarurl_or_default'
class='avatar avatar-$size' height='$size' width='$size' />

メールアドレスがないため、Gravatar がデフォルトの画像に戻ると(例:ピンバックまたはトラックバックの場合)、デフォルトの設定が指定されたかどうかに関わらず、img 要素には avatar-default の CSS クラスが適用されます。

Gravatarを使ったテーマ

WordPress2.5のアバター機能を使ったWordPress Themeを開発したい場合は、以下のGravatar関数をチェックするコードを加えてください:

   if (function_exists('get_avatar')) {
      echo get_avatar($email);
   } else {
      //alternate gravatar code for < 2.5
      $grav_url = "http://www.gravatar.com/avatar.php?gravatar_id=" . 
        md5($email) . "&default=" . urlencode($default) . "&size=" . $size;;
      echo "<img src='$grav_url'/>";
   }

Gravatar が存在するかのチェック

メールアドレスをもとに Gravatar 画像をリクエストしても画像がない場合、デフォルト画像が返されます。

これを望まない場合、実際の Gravatar 画像が返ってくるか、デフォルト画像が返ってくるかをチェックするとよいでしょう。

例となる状況:

  • Gravatar を持たないユーザーにはローカルでデフォルトに設定したアバターを表示
  • Gravatar がない場合のみ、登録するようにアラートを表示

注: 以下の情報を活用するには、PHP の理解が必要です。

このコツは、「404」をデフォルトに指定することです。以下の例では、Gravatar 画像がないとサービスはデフォルト画像の代わりに404エラーを返し、実際の画像があれば200コードを返します。他のエラーコードが帰ってくる場合もあるかもしれないので、200コードをチェックするのがよいでしょう。

以下は HTTP ヘッダーを利用したチェック関数の例です。必要に応じて変更してください。

function validate_gravatar($email) {
	// 使われる URL を作成しヘッダーをテスト
	$hash = md5($email);
	$uri = 'http://www.gravatar.com/avatar/' . $hash . '?d=404';
	$headers = @get_headers($uri);
	if (!preg_match("|200|", $headers[0])) {
		$has_valid_avatar = FALSE;
	} else {
		$has_valid_avatar = TRUE;
	}
	return $has_valid_avatar;
}

Gravatarをカスタマイズする

Gravatarをカスタマイズするためのいくつかの設定があります。設定するパラメータは以下の通りです:

<?php gravatar("rating", size, "default", "border"); ?>
rating 
Gravatarが表示される最も高いレーティングを指定します。レーティングには、G、PG、R、Xがあります。PG よりも高いレーティングだけが表示するには、以下のようなコードになります:
<?php gravatar("PG"); ?>
size 
Gravatarのサイズは、デフォルトの設定では80×80ピクセルです。サイズを変更するには、sizeの値を変更します。80×80プクセルで四角形に設定するには、次のような値に設定します:
<?php gravatar("PG", 80); ?>
default 
ユーザーが Gravatar や互換性のある他のアバターサービスに未登録の場合は、デフォルト設定の画像が表示されます。利用者は、標準の設定の画像を PNG、JPG または GIF 形式の画像に変更できます。
<?php gravatar("PG",40,"/images/no_gravatar.gif"); ?>
border 
境界線を引くには、border 関数を使用します。境界線は選択した色でGravatarの周囲に、幅1ピクセルで描かれます。標準の設定では境界線はなしです。以下の例は、レーティングが PG 以下で、サイズが40×40ピクセル、Gravatar がない場合にはデフォルト設定の画像を表示し、1ピクセルの赤い境界線を引くという場合の設定です:
<?php gravatar("PG",40,"/images/no_gravatar.gif","FF0000"); ?>

資料

変更履歴

  • 2.7 : コメントループとして新規テンプレートタグ wp_list_comments() を用いると、get_avatar() を使わずに Gravatar を表示できます。
  • 2.5 : WordPress 標準機能として組み込まれました。

関連ページ

あわせて読む

get_avatar


最新英語版: WordPress Codex » Using Gravatars最新版との差分