如何在WordPress中获取登录用户信息以提供个性化结果
最近我们展示了如何通过允许用户将他们喜欢的文章保存到个性化的库中来为他们创建个性化体验。你可以通过在某些地方(如欢迎屏幕)使用用户名将个性化结果提升到另一个层次。幸运的是,WordPress使得获取登录用户的信息变得非常容易。在本文中,我们将向您展示如何检索当前登录用户的信息。
使用get_currentuserinfo();函数
我们将使用get_currentuserinfo();函数。这可以在你的主题的任何地方使用(头部、底部、侧边栏、页面模板等)。为了使其工作,用户必须已登录。所以我们需要使用条件语句is_user_logged_in()。示例代码如下:
<?php if ( is_user_logged_in() ) { ?>
<!-- 登录用户将看到的文本 -->
<?php } else { ?>
<!-- 这是显示给没有登录的人的段落 -->
<p>通过<a href="<?php bloginfo('url'); ?>/wp-register.php">注册</a>,您可以保存喜欢的文章以供将来参考。</p>
<?php } ?>
为已登录用户显示自定义信息
现在对于已登录用户,我们可以显示自定义消息,例如,“嗨,Syed,一切都在你希望的地方”。上面的代码将变成如下代码:
<?php if ( is_user_logged_in() ) { ?>
<!-- 登录用户将看到的文本 -->
<?php global $current_user; get_currentuserinfo(); ?>
<h1>嗨 <?php echo $current_user->user_firstname; ?></h1>
<p>一切都在你希望的地方 :)</p>
<?php } else { ?>
<!-- 这是显示给没有登录的人的段落 -->
<p>通过<a href="<?php bloginfo('url'); ?>/wp-register.php">注册</a>,您可以保存喜欢的文章以供将来参考。</p>
<?php } ?>
上面的神奇代码是$current_user->user_firstname;,其工作原理是调用get_currentuserinfo()将当前用户的信息放入$current_user中。你可以使用类似的方法获取用户的其他信息,如他们的登录名、用户ID、电子邮件、网站等。
所有信息的示例用法
<?php global $current_user;
get_currentuserinfo();
echo '用户名: ' . $current_user->user_login . "
";
echo '用户邮箱: ' . $current_user->user_email . "
";
echo '用户名字: ' . $current_user->user_firstname . "
";
echo '用户姓氏: ' . $current_user->user_lastname . "
";
echo '用户显示名: ' . $current_user->display_name . "
";
echo '用户ID: ' . $current_user->ID . "
";
?>
希望这有帮助。结合添加喜欢文章的功能,你可以轻松创建个性化体验。