Twicon for WordPress (アバター表示)

初出日: 2009年1月12日 | 最終更新日: 2010年9月24日
投稿者: をかもと | パーマリンク

お知らせ

2009年4月2日 の Twitter API の仕様変更により、メールアドレスから Twitter アイコンの取得ができなくなりました。
Ver.1.3.0 以降では、お使いのテーマの comment.php に以下のテンプレートタグを追加することで、コメント時にTwitterアカウントを記入できるようになります。

<?php if (function_exists('twicon_input_box')) twicon_input_box(); ?>

Twitterアカウントを記入してくれた方のアバターのみ Twitter アイコンが表示されるようになります。

現在、このプラグインでは Twitter アイコンを表示することができません。
開発も無期限で停止しています。気が向いたら、修正するかもしれませんが、予定は未定です。

概要

コメント欄に表示するアバターを Gravatars の代わりに Twitter のアイコンを表示します。
#Twitter アイコンが取得できない場合は、従来どおり Gravatars を表示します。
WordPress 2.5 以降でのみ動作可能です。

ダウンロード

twicon.1.3.0.zip Ver.1.3.0
または
WordPress > Twicon for WordPress « WordPress Plugins

インストール

plugins ディレクトリに "twicon" ディレクトリを作成し、その中にプラグインファイルを格納してください。
一般的には .zip から展開された twicon フォルダをそのままアップロードすれば OK です。

また、アバターのキャッシュを wp-content/cache/twicon/ というフォルダに作成します。
プラグインが自動で作成するようになっていますが、作成できない場合も有ります。
自動作成されない場合は、このフォルダを作成して書き込み権限を与えてください。
なお、このフォルダが無い場合はアバターのキャッシュを作成しません。

Ver.1.3.0 以降では、お使いのテーマの comment.php に以下のテンプレートタグを追加することで、コメント時にTwitterアカウントを記入できるようになります。

<?php if (function_exists('twicon_input_box')) twicon_input_box(); ?>

Twitterアカウントを記入してくれた方のアバターのみ Twitter アイコンが表示されるようになります。

使い方

Gravatars が表示できるテーマであれば、特に変更せずにプラグインを有効化するだけで Twitter のアイコンに入れ替わります。
テーマに Gravatars アイコンを表示するテンプレートタグが無い場合は、以下のテンプレートタグをアイコンを表示したい所にセットしてください。

<?php echo get_avatar($comment, 45); ?>

# 第2引数はアイコンのサイズ。
# 詳しくは、Gravatar の使い方を参照してください。

特記事項

  • Twitter の API 実行回数制限を回避するために、ユーザーステータス取得の実行結果をキャッシュしています。(デフォルトは 12 時間に1回)
    このため、Twitter アイコンを変更しても、反映されないことがあります。
    間隔を変更したい場合は define('TWICON_EXPIRED', 12); という箇所を変更してください。
    例:間隔を6時間毎に変更したい場合 define('TWICON_EXPIRED', 6);
  • Ver.1.1.0 から Twitter アイコンをサーバにキャッシュする機能を追加しました。
    この機能を使用したくない場合は define('TWICON_CACHE', true); をコメントアウトしてください。
    また、キャッシュファイルは wp-content/cache/twicon/ フォルダに作成されます。
    このフォルダが存在しない場合は、自動で作成するようになっていますが、もし作成されない場合は手動で作成し、適切なアクセス権を付与してください。
  • Ver.1.2.0 から Twitter アカウントが取得できた場合、アバター画像に Twitter ホームへのリンクを付加する機能を追加しました。
    デフォルトでは、ダッシュボード上のアバターにしかリンクが付加されません。
    コメント欄のアバターにも Twitter ホームへのリンクを付加したい場合は、define('TWICON_LINK_TWITTER', false); という箇所を false から true に変更してください。
    また、以前のバージョンからのアップデートの場合、以前取得した Twitter 情報の有効期限が切れるまでは更新されません。しばらく待ってみてください。
    どうしても待ちきれない方は (wp_)options テーブルから twicon 行を削除すれば、設定はクリアされますがオススメはできません。
  • Twitter アイコンの URL がマルチバイト文字を含む場合、キャッシュを作成できません。
    twicon.php の 57行目付近の define('TWICON_CACHE', true);define('TWICON_CACHE', false); に書き換えると表示することができます。

独自フィルタについて

Ver.1.2.0 から独自フィルタが使用できます。
使用できるフィルタは、"twitter_id/twicon.php"、"profile_image_url/twicon.php" の2つ。
それぞれ、以下のようにして使用してください。

"twitter_id/twicon.php"

特定のメールアドレスを Twitter アカウントに変換したい場合に使用します。
例えば、WordPress に登録されている自分のメールアドレスと Twitter に登録されているメールアドレスが異なる場合などに使用してください。

以下のようなフィルターフックをテーマの functions.php または my-hacks.php に追記してください。
"hoge@example.com" というメールアドレスだった場合、"hoge" という Twitter アカウントのアイコンを取得します。

function set_twitter_id($twitter_id, $email) {
    if ( $email == "hoge@example.com" )
        $twitter_id = "hoge";
    return $twitter_id;
}
add_filter("twitter_id/twicon.php", "set_twitter_id", 10, 2);

"profile_image_url/twicon.php"

Twitter アカウント、Gravatars アカウントを持たないメールアドレスにもアバターを適用したい場合に使用します。

以下のようなフィルターフックをテーマの functions.php または my-hacks.php に追記してください。
"fuga@example.com" というメールアドレスだった場合、アバターとして get_option("siteurl") . "/images/fuga.png" を表示します。

function set_profile_image_url($profile_image_url, $id_or_email, $size) {
    if ( $id_or_email == "fuga@example.com" )
        $profile_image_url =
            get_option("siteurl") . "/images/fuga.png";
    return $profile_image_url;
}
add_filter("profile_image_url/twicon.php", "set_profile_image_url", 10, 2);

既知の問題

Twitter アイコンのファイル名にマルチバイト文字が含まれていると正常に表示されません。

更新履歴

2009/04/09 1.3.0 メールアドレスではなく Twitter ID からアイコンを取得するように修正
2009/04/03 1.2.10 Twitter API 仕様変更対応、暫定版 その2
2009/04/03 1.2.9 Twitter API 仕様変更対応、暫定版
2009/04/01 1.2.7 Ver.1.2.6アップデート時の不具合を修正
2009/03/31 1.2.6 アイコンのURL にマルチバイト文字が含まれていても、キャッシュを作成するように修正
2009/03/30 1.2.5 アイコンのURL にマルチバイト文字が含まれている場合、キャッシュを作成しないように修正
2009/03/16 1.2.4 細かな不具合の修正
2009/03/06 1.2.3 URL パラメータを base64encode に変更
2009/01/27 1.2.2 管理画面でデフォルトアバターが正常に表示されない不具合を修正
2009/01/24 1.2.1 アイコンの拡張子が .jpeg だった時の不具合に対応
2009/01/14
 
 
1.2.0
 
 
アイコンキャッシュ方法の変更
Twitter ホームへのリンク追加
独自フィルタ追加
2009/01/13 1.1.0 Twitter アイコンキャッシュ機能追加
2009/01/12 1.0.0 JSeries リリース

作者のエントリ

WordPress > Twicon for WordPress@WordPress Plugins

Let's show the Twitter avatar (Twicon) to your user with those comments of you in the Web site. When the Twitter avatar (Twicon) doesn't exist, Gravatar is displayed.

Twicon for WordPress@dogmap.jp

WordPress 2.5 以降では、コメント欄で Gravatar が簡単に利用できるようになった。Gravatar とは、以下のようなもの。要するにコメント欄に表示する投稿者固有のアイコンだ。

この Gravatar の代わりに Twitter のアイコンを表示できるプラグイン 「Twitter Avatars In Comments Wordpress Plugin」 についてMasayan さんが、Twitter でつぶやいたのを読んで、コレは!と思い色々試してみた。
…が、仕様が気にくわない点が色々とあったので作り直し。
まったく別の WordPress プラグインが出来上がったので JSeries で公開します。