先日、お気に入りの投稿をパーソナライズされたライブラリに保存することで、ユーザーにパーソナライズされた体験を提供する方法を紹介しました。パーソナライズされた結果をさらにレベルアップするには、ユーザーのファーストネームを使用する必要があります(例:ウェルカム画面)。幸運なことに、WordPressはログイン中のユーザーの情報をとても簡単に取得することができます。この投稿では、現在ログイン中のユーザーに関する情報を取得する方法を紹介します。
get_currentuserinfo();関数を利用します。この関数は、テーマの任意の場所(ヘッダー、フッター、サイドバー、ページテンプレートなど)で使用できます。これが機能するためには、ユーザーがログイン中でなければなりません。そのため、is_user_logged_in()という条件文を使用する必要があります。コード例
[cbk1]
ログインしているユーザーに対して、例えば「Hey Syed, Everything is here, right where you hoped it would be」のようなカスタマイザーメッセージを表示することができます。上記のコードは次のようになります:
[cbk2]
上記で追加したマジックコードは$current_user->user_firstname;です。これは、get_currentuserinfo()の呼び出しが現在のユーザーの情報を$current_userに入れるために動作しています。同様のメソッドを使用して、ログイン名やユーザ ID、メール、サイトなどのユーザ情報を取得することができます。
すべての情報の使用例を以下に示します:
[cbk3]
参考になれば幸いです。お気に入りの投稿を追加する機能と組み合わせることで、パーソナライズされた体験を簡単に作り出すことができます。
Stef
You should update this. It’s outdated/deprecated.
WPBeginner Support
Thank you for your feedback and for letting us know about this article
管理者
Hash
How to display logged in user’s profile picture ?
S Meredith
Hi Syed,
Fantastic site.
It’s helped me a lot with understanding WP and editing my own site.
My question is, once I’ve inserted the above function into my child themes functions.php, how would i create a shortcode so that I can then display this user information on a generic page?
Are shortcodes the best way to allow this to be displayed on any page i’d like.
For example, I have a static page that I would like to display ‘Welcome {user_name}’ and their profile picture.
WPBeginner Support
Shortcodes are easier way to do that. You can also create templates with specific WordPress functions. See our guide on how how to add a shortcode in WordPress
管理者
ajay
how can i echo user infomation in page
Pavan
I know nothing about php. I just want to show the username of my customer on TOP bar navgation, and from there he can access his account. How do I do that.
Faruk
What if the user not logged in. Can the wordpress still send personalised email with his name? and if sa what is the variable and how?
WPBeginner Support
No WordPress can’t do that.
管理者