it-swarm.com.de

Benutzerrolle anhand der ID ermitteln WordPress

Ich muss irgendwie die Rolle von jemandem nur mit seiner ID überprüfen. Ich habe die current_user_can() Prüfung gefunden. Dies funktioniert jedoch nur bei angemeldeten Personen. Wie überprüfe ich dies, wenn dieser Benutzer nicht der aktuelle Benutzer ist? Ich benutze ein telefonisches Bestellsystem, das jedoch das admin/specific Konto verwendet, um für andere Personen zu bestellen.

26
Tristan .L

Sie können die Benutzerrolle nicht direkt erhalten. Zuerst müssen Sie die user_meta_data abrufen, und es wird ein Objekt zurückgegeben, das Benutzerrollen enthält.

Code:

$user_meta=get_userdata($user_id);

$user_roles=$user_meta->roles; //array of roles the user is part of.
45
Meathanjay

Die Informationen, die Sie wissen müssen, bevor Sie fortfahren:

  • Sie können die Benutzerrolle nicht direkt anhand der ID abrufen.
  • Sie können erhalten alle Rollen, denen ein Benutzer zugewiesen ist.

Lassen Sie uns alle Rollen abrufen und prüfen, ob die Rolle, an der Sie interessiert sind, da ist oder jetzt.

<?php

// Get the user object.
$user = get_userdata( $user_id );

// Get all the user roles as an array.
$user_roles = $user->roles;

// Check if the role you're interested in, is present in the array.
if ( in_array( 'subscriber', $user_roles, true ) ) {
    // Do something.
    echo 'YES, User is a subscriber';
}
8
Ahmad Awais
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;

if ( in_array( 'administrator', $user_roles, true ) ) {
    //echo User is a administrator';
}
1
Wessam Mohsen