Wordpress 角色为空

Wordpress role is empty

祝大家圣诞快乐,新年快乐!

我正在尝试为登录用户获取 Wordpress 角色,但我得到的是一个空数组。请注意,用户似乎已登录,因为第一个条件未被触发。 有人猜猜会发生什么吗?

if ( is_user_logged_in() ) 
{
    $user = new WP_User( $user_ID );
    if (!empty( $user->roles )) 
    {
        if(is_array($user->roles))
        {
            foreach ($user->roles as $role)
            echo $role;
        }
        else
        {
            echo "Not array";   
        }
    }
    else
    {
        echo "Is empty";    
    }
}
else
{
    echo "Not logged";  
}

可能是您传递给 WP_User() 的 $user_ID 未设置。根据上下文,这可能会或可能不会被设置。您可以通过在上面的行中插入来获得它:

global $user_ID;

如果您从函数内部调用它,情况肯定会如此。

或者为了确定,您可以尝试:

$user_ID = get_current_user_id();