WordPressのゲストコメント アバター(アイコン)をプラグインを使わずに変更する方法 WordPressのゲストコメント アバター(アイコン)をプラグインを使わずに変更する方法 UZUREA編集部 公開:2023年8月5日(1年前) / 更新:2023年8月6日 コメント 0件 Web技術webweb制作WordPressプラグイン画像 SNS X Facebook B! はてブ Pocket 当記事の内容および記事中のリンクには、広告目的や当サイトが収益を得るためのものが含まれており、これらの収益によってuzurea.netは運営されています。 当記事ではWordPressで管理しているWebサイトのゲストユーザーが投稿したコメントのアバター(アイコン画像)を、サイト管理者が好きな画像に変更する方法を解説しています。 ※この記事はWordPressでWebサイトを管理している人向けの記事となります。 記事の索引1 WordPress ゲストアバターをプラグインを使わずに変更する方法1.1 画像を作成し、テーマフォルダに保存する1.2 実際のコメント表示例2 まとめ WordPress ゲストアバターをプラグインを使わずに変更する方法 WordPressで構築されたWebサイトのコメントのアバターは、WordPressアカウントを持っていて、かつGravatarアイコンを設定しているユーザー以外は、管理者が設定したものが自動的に表示されます。 そして管理者は、WordPress管理画面の[設定]>[ディスカッション]>[デフォルトのアバター] からこのアバター設定を変更できますが、とはいえあまりクオリティの高くないいくつかの選択肢から選ぶ必要があります。 [設定]>[ディスカッション]>[デフォルトのアバター] から設定できるゲストユーザーのアバター この設定画面でアバターを追加できるそこでこのアイコンを管理者が任意に変更する方法はいくつかあるのですが、ここではプラグインを使わない方法をご紹介します。 画像を作成し、テーマフォルダに保存する まずは、アイコンの画像を作成しましょう。縦横1:1の正方形でなるべく容量の小さいものがよいでしょう。基本的には画像はひとつで良いですが、複数作成してランダムに表示させたいという場合には好きなだけ作成してください。 今回は下記のような画像を300×300pxで作成しました。 guest01.png guest02.png guest03.png guest04.png 続いて、これを現在利用しているテーマディレクトリの中にアップロードします。当記事の例ではテーマディレクトリの中にimagesというディレクトリをつくりアップロードしました。 テーマディレクトリ/images/guest01.png テーマディレクトリ/images/guest02.png テーマディレクトリ/images/guest03.png テーマディレクトリ/images/guest04.png 次に同じくテーマディレクトリのfunctions.phpに下記コードを記述します。 //WordPressのアバターを自分の独自のものに設定する //get_avatarフィルターを使用してデフォルトのGravatarを自分の独自のものに置き換え add_filter( 'get_avatar', 'my_custom_avatar', 10, 5 ); function my_custom_avatar( $avatar, $id_or_email, $size, $default, $alt ) { $user = false; if ( is_numeric( $id_or_email ) ) { $id = (int) $id_or_email; $user = get_user_by( 'id' , $id ); } elseif ( is_object( $id_or_email ) ) { if ( ! empty( $id_or_email->user_id ) ) { $id = (int) $id_or_email->user_id; $user = get_user_by( 'id' , $id ); } } else { $user = get_user_by( 'email', $id_or_email ); } if ( $user && is_object( $user ) ) { return $avatar; } else { $custom_avatars_urls = array( // ゲストユーザーのカスタムアバターを下記に記載 get_stylesheet_directory_uri() . '/images/guest01.png', get_stylesheet_directory_uri() . '/images/guest02.png', get_stylesheet_directory_uri() . '/images/guest03.png', get_stylesheet_directory_uri() . '/images/guest04.png', // お好みでもっと増やしても良いでしょう ); $custom_avatar_url = $custom_avatars_urls[array_rand($custom_avatars_urls)]; $avatar = "<img alt='{$alt}' src='{$custom_avatar_url}' class='avatar avatar-{$size} photo' height='{$size}' width='{$size}' />"; } return $avatar; } 上記コードを追記したfunctions.phpをアップロードすれば完了です。なお、画像を指定する箇所に行を追加すれば、ランダムに表示されるアイコンを増やす事ができます。上記例では4つ設定していますが、1行だけにすれば該当画像だけがゲストアバターとなります。 当然ファイル名やアップロードディレクトリが違う場合は、該当部分を適宜変更しましょう。下記のように…… get_stylesheet_directory_uri() . '/images/guest01.png', get_stylesheet_directory_uri() . '/images/guest02.png', get_stylesheet_directory_uri() . '/images/guest03.png', get_stylesheet_directory_uri() . '/images/guest04.png', get_stylesheet_directory_uri() . '/images/guest05.png', get_stylesheet_directory_uri() . '/images/guest06.png', ... .. . get_stylesheet_directory_uri() . '/images/guest15.png', get_stylesheet_directory_uri() . '/images/guest16.png', アバター画像を大量に設定する事でもっと楽しくなりそうですが、同時に表示時の負荷も増えるのでほどほどに。 実際のコメント表示例 上記を適用した事で、Gravatarアイコンを設定しているログインユーザー以外のコメントは、指定した画像がランダムに表示されるようになりました。 uzurea.net上のとあるコメント欄。UZUREA編集部以外のアイコンはランダム表示される なお、アバター画像を複数指定した場合は、ページにアクセスする毎に各ゲストユーザーのアイコンは完全にランダムに変わります。(=コメント毎に画像が紐づけられるのでは無く、表示時に選択肢から選出される) まとめ 当記事では、プラグインを使わずにデフォルトアバターを好きなアイコンに変更する方法の一例について解説しましたが、方法は他にも色々あります。 特にプラグインを使って……という事になると、より柔軟に色々設定できるものがありますので、こだわりたい方はそれらを検討してみてもよいでしょう。 当記事の執筆者(私)は、しっかりと検証していませんが、下記のプラグインがこれらの機能を実装できそうです。 One User Avatar Simple Local Avatars Avatar Privacy 上記プラグインは、当記事掲載時点で定期的なアップデートがされているもののみリストアップしていますが、詳しい機能や解説はリンク先でご確認ください。 ゼロから学ぶ はじめてのWordPress 簡単にできるWebサイト制作入門 ¥1,782 (2024/09/20 06:24:55時点 Amazon調べ-詳細) Amazonでのレビューを見る Kindle Amazonで探す 楽天市場で探す Yahoo!ショッピングで探す メルカリで探す アバター Amazonでのレビューを見る プライムビデオで見る(字幕版) プライムビデオで観る(吹替版) Amazonで探す 楽天市場で探す Yahoo!ショッピングで探す メルカリで探す DMM TVで観る 電子妖精アバタモエクボ 1巻 ¥330 (2024/09/21 01:42:46時点 Amazon調べ-詳細) Amazonでのレビューを見る Kindle Amazonで探す 楽天市場で探す Yahoo!ショッピングで探す メルカリで探す