コメント投稿時のアバターは簡単に変更できる

WordPressの標準機能としてコメント投稿者のアバター画像を表示することができます。
これはGravatar – グローバルに認識されるアバター (Globally Recognized Avatars)に登録してあるメールアドレスをコメント投稿時に入力していると、Gravatarに登録したアバター画像を表示しているのです。
もちろん、このブログも例外ではなくGeavatarのアバター画像を表示しています。

メールアドレスを入力しないとアバターが表示されないってことはメールアドレスがみんなにばれちゃうんじゃないの?
って思うかもしれませんが、アバター画像を取得するときはメールアドレスをmd5と呼ばれるハッシュ関数で元のメールアドレスがわからないかたちで取得をしてますので安心ください。

ハッシュ関数ってなんだ?って人はハッシュドポテトを思い浮かべてください。ジャガイモからハッシュドポテトを作ることはできますが、その逆はできないですよね。
そんな感じでメールアドレスを一方向に変化させるのがハッシュ関数の役割です。

話がそれました。

今回の話はメールアドレスが未入力もしくはGravatarに登録されていない場合のデフォルトのアイコンの変更方法についてです。
表示させたい画像を用意し、以下のコードをfunction.phpに記述します。

function newgravatar ($avatar_defaults) {
    // 画像のパスは用意した画像に合わせてください
    $myavatar = get_stylesheet_directory_uri() . '/images/guest.png';

    // ここで指定した名前が管理画面に表示されます
    $avatar_defaults[$myavatar] = "Guest";
    return $avatar_defaults;
}
add_filter( 'avatar_defaults', 'newgravatar' );

「設定 > ディスカッション設定 > アバター > デフォルトアバター」に用意した画像が追加されていると思います。
追加されたアバターを選択し、「保存」すれば反映されます。