ワードプレスでショートコードでログイン中のユーザーの様々な情報を表示するPHPプログラムをご紹介いたします。

ショートコードでログイン中のユーザーの様々な情報を表示

早速コードを見ていきます。
※このプログラムはfunctions.phpに記載いただくと動作します。

function show_user_info_function() {

    if (! get_current_user_id()) {
        return '';  //非ログイン状態の時は何も表示しない
    }
    
    $user_id = get_current_user_id(); //ユーザーIDを取得します
    $user = get_user_by( 'id', $user_id ); //ユーザーの基本情報を取得します
    
    $login_id = $user->user_login;
    $sei = get_user_meta($user_id, 'last_name', true);
    $mei = get_user_meta($user_id, 'first_name', true);
    $email = $user->user_email;
    
    return "ログインID:".$login_id."<br>名前(姓):".$sei."<br>名前(名):".$mei."<br>Eメールアドレス:".$email;
}

add_shortcode('show_user_info', 'show_user_info_function');

この例では、add_shortcode関数でショートコードshow_user_infoを定義しshow_user_info_functionの中でプログラムされた出力を表示します。

[show_user_info]と投稿や固定ページ、ウィジェットに記載するとログイン中のユーザーのログインID、名前(姓)、名前(名)、Eメールアドレスを表示します。

get_current_user_id()は現在ログイン中のユーザーの数字のIDを取得します。

get_user_meta はユーザー情報に登録された様々なメタ情報を取得できる関数です。独自に拡張したメタ情報も取得できます。
ただ、ユーザーのログインIDやメールアドレスはこの関数では取得できません。

get_user_by関数を使うとユーザーのメールアドレスやログインIDも含む情報が取得できますので、オブジェクト配列の->user_login、->user_emailにアクセスするとユーザーのメールアドレスやログインIDも取得と表示することができます。

ご参考になりましたら幸いです。

WordPress ワードプレスサイトの修正やPHPコーディングのご依頼ご相談はお気軽にワードプレスドクターまでお送りください