如何在WordPress中获取登录用户信息以提供个性化结果

12/12/2022

如何在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 . "
"; ?>

希望这有帮助。结合添加喜欢文章的功能,你可以轻松创建个性化体验。



Related Posts

  • 2025-02-16
  • WordPress 教学

你是否想过,能不能用更引人注目的方式取代WooCommerce中基本的促销徽章?答案是肯定的!通过自定义产品徽章,你可以在在线商店中突出新产品、折扣商品或限时优惠。在这篇文章中,我们将展示给你两个简单的方法,使用强大的插件或添加简单代码来为你的WooCommerce商店添加自定义产品徽章。

閱讀更多
  • 2025-01-18
  • WordPress 教学

我们都知道推荐计划是强大的武器。但要找到真正的品牌代言者并不容易。许多计划吸引的只是想快速赚钱的人,导致非真实的推广,无法有效转化客户。幸好,作为 WooCommerce 商店的店主,您有一个巨大的优势:一群真正喜爱和使用您产品的内置客户群。通过将这些现有客户转化为推广合伙人,您可以释放真实口碑营销的力量。

閱讀更多
  • 2025-01-10
  • WordPress 教学

最近,我们的一位比利时读者在其在线商店中苦于销售增长缓慢。除了其他建议外,我们建议他们在网站上设置Bancontact支付。Bancontact是一种主要在比利时使用的流行支付系统,客户可以通过银行账户进行安全的实时支付。

閱讀更多

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}
>