
※当サイトにはプロモーションが含まれています。
ワードプレス(WordPress)には、標準機能としてコメント(ディスカッション)機能が用意されています。
この機能を使えば、サイトの訪問者からコメントを受け取ることができ、コミュニケーションの場として活用できるので、それがワードプレスの魅力の一つにもなっています。

ただ、コメント機能で表示されるアバター画像はダサすぎるにゃ

一応、このアバター画像を変更するには、一般的に以下の方法で可能です。
- プラグイン(WP User Avatar、Simple User Avatarなど)を使う
- Gravatar(グラバター)のサービスを利用する
この2つです。

プラグインは不具合が怖いし、Gravatarはメールを登録するから面倒くさいにゃ
そのため今回は、プラグインやGravatarを使わずに、“管理者”のアバター画像を変更してみました。

下記のように表示されたにゃ
管理者のアバター画像を設定する方法【function.php】
管理者のアバター画像を設定する方法として、今回は、function.phpに記述して変更します。
①アバター画像のアップロード
使用する予定のアバター画像を、メディアにアップロードして、URLをコピーします。
なお、最も一般的な表示サイズは、32×32pxですが、テーマなどによって大きく表示される事もあるので、128×128pxでアップすればいいと思います。

②管理者のメールアドレス確認
ワードプレスの管理者メールアドレスを確認してコピーしておきます。
左メニューにある、設定 > 一般 を選択。
③function.phpへ記載
function.phpに以下のコードを記載します。
add_filter('get_avatar', 'custom_avatar_img_tag_for_admin', 10, 5);
function custom_avatar_img_tag_for_admin($avatar, $id_or_email, $size, $default, $alt) {
if (is_admin()) {
return $avatar;
}
$admin_email = '(管理者のメールアドレス)';
$email = '';
if (is_object($id_or_email)) {
if (isset($id_or_email->comment_author_email)) {
$email = $id_or_email->comment_author_email;
} elseif (isset($id_or_email->user_id)) {
$user = get_user_by('id', $id_or_email->user_id);
if ($user) $email = $user->user_email;
}
} elseif (is_numeric($id_or_email)) {
$user = get_user_by('id', $id_or_email);
if ($user) $email = $user->user_email;
} elseif (is_string($id_or_email)) {
$email = $id_or_email;
}
if (strtolower($email) === strtolower($admin_email)) {
$custom_avatar_url = '(アップロードした画像のURL)';
return '<img alt="' . esc_attr($alt) . '" src="' . esc_url($custom_avatar_url) . '" class="avatar avatar-' . esc_attr($size) . ' photo" height="' . esc_attr($size) . '" width="' . esc_attr($size) . '" />';
}
return $avatar;
}
上記のコードで記載しなければいけない箇所は2箇所です。
まず1つ目は、②で確認したメールアドレスを記載します。
$admin_email = '(管理者のメールアドレス)';
そして、次は①でアップロードした画像のURLを記載します。
$custom_avatar_url = '(アップロードした画像のURL)';
そして、修正した内容をfunction.phpに記載します。
function.phpの場所は?
function.phpは、だいたいどのテーマも、
外観 > テーマエディター
にあります。

テーマエディターに移動したら、編集するテーマが、現在、使用しているテーマかを確認しましょう。
問題なければ、「function.php」を選択します。

なお、function.phpに記載する際に、ブラウザ上で全角から半角に変換すると、エンコーディング(文字コード)の関係で、不具合が発生することがあります。
その為、編集する時は、メモ帳などに貼り付けたものを編集をしてからペーストするようにしましょう。
選択したら、一番下に以下のコードを追加します。
add_filter('get_avatar', 'custom_avatar_img_tag_for_admin', 10, 5);
function custom_avatar_img_tag_for_admin($avatar, $id_or_email, $size, $default, $alt) {
if (is_admin()) {
return $avatar; // 管理画面では元のアバター表示
}
$admin_email = '(管理者のメールアドレス)';
$email = '';
if (is_object($id_or_email)) {
if (isset($id_or_email->comment_author_email)) {
$email = $id_or_email->comment_author_email;
} elseif (isset($id_or_email->user_id)) {
$user = get_user_by('id', $id_or_email->user_id);
if ($user) $email = $user->user_email;
}
} elseif (is_numeric($id_or_email)) {
$user = get_user_by('id', $id_or_email);
if ($user) $email = $user->user_email;
} elseif (is_string($id_or_email)) {
$email = $id_or_email;
}
if (strtolower($email) === strtolower($admin_email)) {
$custom_avatar_url = '(アップロードした画像のURL)';
return '<img alt="' . esc_attr($alt) . '" src="' . esc_url($custom_avatar_url) . '" class="avatar avatar-' . esc_attr($size) . ' photo" height="' . esc_attr($size) . '" width="' . esc_attr($size) . '" />';
}
return $avatar;
}
変更箇所(2箇所)を変更するのを忘れずに・・・。
最後に、「ファイルを更新」ボタンで、保存(更新)します。
※function.phpの設定を失敗すると、最悪、サイトが表示されなくなります。
その為、コードを追加する際は、必ずバックアップを取ってから追加するようにしてください。
なお、すでにサイトに反映されているコメントについては、このfunction.phpに記述してもアバター画像は変更されません。
コメントを更新した時に、アバター画像も一緒に変更(更新)されますのでご注意ください。

コメント内容を変更せずに更新してもアバター画像は更新されるにゃ
ご支援のお願い
この記事が役に立ったと感じたら・・・
この記事が少しでもお役に立ったと感じていただけましたら、ぜひ下の“ボタン”をクリックしてお買い物をしていただけると嬉しいです。
ご購入いただいた商品の金額の一部が私に入り、より有益な記事を作るための励みになります。
なお、商品は、ご自身の好きなものをご購入いただければと思います。
無料相談・お問い合わせはこちら