如何在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

  • 2024-12-12
  • WordPress 教学

多语言表单有助于与全球观众沟通,使您的网站更易于使用,并吸引更多用户。本文介绍了如何使用WPForms和Formidable Forms插件在WordPress中创建多语言表单,以帮助您轻松实现这一目标。

閱讀更多
  • 2024-10-21
  • WordPress 教学

如果您在WordPress管理区域或其他地方遇到‘jQuery未定义’错误,不必担心,这是一个常见的问题。本文为您介绍了该错误的原因以及六种解决方法,以便让您的网站恢复正常运行。

閱讀更多
  • 2024-10-17
  • WordPress 教学

越来越多的人倾向于使用语音搜索而不是在搜索栏中输入关键词。语音搜索被认为是在线交互的未来,各种设备上数百万人每天都在使用它。与通过普通SEO优化网站一样,将网站适配语音搜索同样重要。在本文中,我们将深入探讨为什么语音搜索SEO如此重要,以及如何优化您的WordPress网站以捕获这些语音搜索。

閱讀更多

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