You are here:  Home » PHP » 如何在WordPress中获取登录用户信息以获取个性化结果

最近,我们向您展示了如何通过允许用户个性化库中保存自己喜欢的帖子来为用户创建个性化体验。您可以通过在地点使用他们的名字(即欢迎屏幕)将个性化结果提升到另一个级别。幸运的是,WordPress使获取登录用户信息变得非常容易。在本文中,我们将向您展示如何检索与当前登录用户相关的信息。

我们将使用get_currentuserinfo();功能。这可以在主题中的任何位置使用(页眉,页脚,侧边栏,页面模板等)。为了使其工作,用户必须登录。所以我们需要使用条件语句is_user_logged_in()。示例代码:

<?php if ( is_user_logged_in() ) { ?>
    <!-- text that logged in users will see -->
<?php } else {   ?>
    <!-- here is a paragraph that is shown to anyone not logged in -->

<p>By <a href="<?php bloginfo("url"); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>
<?php } ?>

现在,对于logged_in用户,我们可以显示自定义消息,例如“Hey Syed,Everything is here,就在您希望的位置”。上面的代码将变成这样的东西:

<?php if ( is_user_logged_in() ) { ?>
    <!-- text that logged in users will see -->

<?php global $current_user; get_currentuserinfo(); ?>

<h1>Hi <?php echo $current_user->user_firstname; ?></h1>

<p>Everything is here, right where you hoped it would be :)</p>

<?php } else {   ?>
    <!-- here is a paragraph that is shown to anyone not logged in -->

<p>By <a href="<?php bloginfo("url"); ?>/wp-register.php">registering</a>, you can save your favorite posts for future reference.</p>
<?php } ?>

我们上面添加的魔术代码是$ current_user-&gt; user_firstname; 这是有效的,因为调用 get_currentuserinfo()将当前用户的信息放入 $ current_user。您可以使用类似的方法获取有关用户的其他信息,例如他们的登录名,用户ID,电子邮件,网站等。

以下是所有信息的示例用法:

<?php global $current_user;
      get_currentuserinfo();

      echo "Username: " . $current_user->user_login . "
";
      echo "User email: " . $current_user->user_email . "
";
      echo "User first name: " . $current_user->user_firstname . "
";
      echo "User last name: " . $current_user->user_lastname . "
";
      echo "User display name: " . $current_user->display_name . "
";
      echo "User ID: " . $current_user->ID . "
";
?>

评论被关闭。