WordPress – Gravatarを使わないでアバター画像を変更する方法

管理画面上ではアバター画像(Gravatar)を変更するにはGravatarに登録する必要があるがadd_filterで画像の制御することも可能なのでその方法をご紹介します。

手順

アバター画像の配置

まず、アバター画像の用意をしてその画像をテーマディレクトリの中に置きます。imageディレクトリの中でもいいですしテーマディレクトリの直下でも大丈夫です。

template
│─ footer.php
│─ functions.php
│─ header.php
│─ index.php
│─ style.css
│  
└─image
        avatar.jpg

画像の拡張子は.jpg .png .gifが使用可能です。画像サイズは自動的に96 / 96のサイズにリサイズされるのでそのままのサイズで問題ありません。のちにリサイズも可能なので高画質のままがいいかと。

functions.phpにフィルターイベントを追加

functions.phpに下記のコード埋め込みます。単にアバター画像の読み込み先だけを変更しています。

// アバター画像の読込先
add_filter('get_avatar_url', function(){
    $ava = get_template_directory_uri() . '/image/avatar.jpg';
    return $ava;
});

アバター画像を出力する

<?= get_avatar(get_the_author_meta('ID'), 120, '', "Avatar"); ?>

第一引数には投稿者(ユーザー)のIDを入力します(第一引数だけ必須)。第二引数には画像のデフォルトサイズを指定することが可能です。第三引数には画像の読み込み先を指定することが可能です。第四引数にはalt=""のテキストを指定することが可能です(初期値なし)。