【问题标题】:How to echo Wordpress Author ID in author.php?如何在 author.php 中回显 Wordpress 作者 ID?
【发布时间】:2013-12-23 10:54:12
【问题描述】:

我有一个带有前端电子邮件和 Facebook 登录的自定义主题。每个用户在注册后默认获得作者角色。

如何通过悬停在后端的用户名来回显前端的用户 ID?我试过这个:

<?php echo the_author_ID(); ?>

但它不适用于管理员角色和使用 facebook 登录的用户? id 显示在后端悬停...有什么想法吗?

更新:我将在他们的前端 author.php 中显示已注册用户的 ID,而不是当前登录用户的 ID!

【问题讨论】:

    标签: php wordpress login


    【解决方案1】:

    它仅适用于具有user_role=author 的用户如果您想要管理员角色和来自 facebook 登录的用户,您可以尝试get_current_user_id()

    【讨论】:

    • 嗨 - 不起作用。我以前试过这个!它向我显示了当前登录用户的 ID,而不是他们 forntend author.php 视图中重新注册用户的 ID!我编辑了我的问题。谢谢
    • 因此您需要所有重新注册用户的 id 列表。那为什么不试试get_users呢?您也可以指定 get_users 范围 $allusers = get_users(); foreach($allusers as $cuser){ echo $cuser-&gt;ID; }
    • 现在我知道为什么它不会回显某些用户的 ID !!!如果用户没有发布帖子,则不会显示 ID!!!谢谢
    【解决方案2】:

    看起来你正在寻找这个,

    the_author_meta("ID");
    

    the_author_ID();
    

    函数已被弃用。

    【讨论】:

    • OHHHHH - 现在我知道为什么它不会回显某些用户的 ID !!!如果用户没有发布帖子,则不会显示 ID!!!您的两个代码都可以正常工作-我已经使用了第二个代码,但是现在我知道了问题所在。谢谢
    【解决方案3】:

    您可以使用get_current_user_id()。如果他们已登录,则返回当前查看者的ID。如果查看者未登录,则返回0。您可以像这样尝试当前用户:

     <?php
    $user_id = get_current_user_id();
    if ($user_id == 0) {
        echo 'You are currently not logged in.';
    } else {
        echo 'You are logged in as user '.$user_id;
    }
    ?> 
    

    你也可以试试current user object (WP_User)。检索当前用户对象(WP_User)。

    $current_user = wp_get_current_user();
        /**
         * @example Safe usage: $current_user = wp_get_current_user();
         * if ( !($current_user instanceof WP_User) )
         *     return;
         */
        echo 'Username: ' . $current_user->user_login . '<br />';
        echo 'User email: ' . $current_user->user_email . '<br />';
        echo 'User first name: ' . $current_user->user_firstname . '<br />';
        echo 'User last name: ' . $current_user->user_lastname . '<br />';
        echo 'User display name: ' . $current_user->display_name . '<br />';
        echo 'User ID: ' . $current_user->ID . '<br />';
    
     <?php wp_get_current_user(); ?> 
    

    【讨论】:

    • 嗨 - 不起作用。我以前试过这个!它向我显示了当前登录用户的 ID,而不是他们 forntend author.php 视图中重新注册用户的 ID!再一次 - 我只会在前端显示用户 ID - 任何人都应该看到 ID,无论是否登录。每个用户都有自己的作者网址,例如:xxxxxx.com/user/anyuser 并且在这个站点中我会回显“anyuser”的 ID,例如?
    猜你喜欢
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 2013-04-13
    • 2023-01-19
    • 2017-03-28
    • 1970-01-01
    • 2013-10-11
    • 2020-02-05
    相关资源
    最近更新 更多