WordPressのユーザー画像とプロフィール
WordPressでユーザー毎に画像とプロフィール部分にHTMLタグを登録したかった。また、登録したものを特定のページに表示させたかった。以下に方法をメモ。
画像の登録はプラグインを使う
画像の登録は以下プラグインを使う。インストールして有効化するだけで、ユーザー編集ページに画像登録部分が表示される。
Simple Local Avatars
https://tzm.wordpress.org/plugins/simple-local-avatars/
画像の出力とプロフィールのHTML入力
以下をテーマフォルダのfunctions.phpに追記する。
//ユーザーアバター取得 function get_user_avatar_img($userid){ $tmp_img = get_avatar($userid); $search = '/<img.*?src=(["\'])(.+?)\1.*?>/i'; if(preg_match($search, $tmp_img, $url)){ $author_img = $url[2]; $author_img = str_replace('-96x96.png', '.png', $author_img); $author_img = '<img src="'.$author_img.'">'; }else{ $author_img = get_avatar($userid); } return $author_img; } //ユーザープロフィールにHTML挿入 remove_filter('pre_user_description', 'wp_filter_kses'); add_filter('pre_user_description', 'wp_filter_post_kses');
画像の方はget_avatar関数で出力できるが、この関数を使うとwidthとか色々追記されてしまう。それでも良い場合はget_avatar関数を使えば良いが、まずい場合はget_user_avatar_img関数で画像のurlのみ取得する。
出力方法
<?php $users = get_users( array('orderby' => ID, 'order' => ASC) ); foreach($users as $user){ $uid = $user->ID; $user_data = get_userdata($uid); $author_img = get_user_avatar_img($uid); ?> 画像:<?php echo $author_img;?><br> 名前:<?php echo $user->display_name;?><br> プロフィール:<?php echo $user_data->user_description;?> <?php } ?>
上記のような形で出力できる。
関連記事
-
-
WordPressで任意のクエリをページに出力するプラグイン
先日、「WordPressで任意のクエリをページ内で出力する方法 」という記事で ...
-
-
WordPressの管理画面で記事一覧にアイキャッチ画像を表示
WordPressの管理画面で記事一覧にアイキャッチ画像を表示させる方法のメモ。 ...
-
-
ACFでセレクトメニューを動的に生成
WordPressでカスタムフィールド設定用のプラグインAdvanced Cus ...
-
-
WordPressでテーマ内の共通の変数
WordPressでテーマ内の共通変数を設定し使用したかった。例えば記事一覧ペー ...
-
-
contact form7で送信時に別サーバへデータ送信
contact form7でフォーム送信時に別サーバーでフォーム内容をPOST送 ...
-
-
WordPressのxmlrpc.phpへの攻撃
サーバーの死活監視をしているシステムから、1つのサイトが落ちているとアラートがき ...
-
-
Polylangで言語毎の分岐処理
WordPressで多言語サイトを作成するにあたりPolylangというプラグイ ...
-
-
WordPressログイン時のヘッダーメニューを非表示
WordPressログイン時にフロント側のページを見るとヘッダーにメニューが表示 ...
-
-
Advanced Custom Fieldsでチェックボックスの記事を取得
Advanced Custom Fieldsでチェックボックス設定しているカスタ ...
-
-
WordPressでデータベース接続確立エラー
WordPressで「データベース接続確立エラー」というエラー表示がされた。大抵 ...
- PREV
- WordPressでユーザー毎にフラグを持たせる
- NEXT
- ER図とエンティティとは