web-dev-qa-db-de.com

Rufen Sie den Benutzertyp eines Autors ab

Ich arbeite an einer Site und muss den Benutzertyp des Autors ermitteln, damit ich ihn markieren kann.

Die Idee ist, dass ein Benutzer auf Administratorebene, der etwas veröffentlicht, ein [ADMIN] -Tag oder etwas neben seinem Namen hat. Ich weiß, wie man Dinge in PHP vergleicht, aber wie überprüfe ich, welcher Benutzertyp ein Autor ist, wenn möglich? Ich kann keine gute Dokumentation zu diesem Thema finden.

2
Jem

Eine Möglichkeit wäre, die Funktion get_the_author_meta zu verwenden und sie user_level zu übergeben.

Weitere Informationen zur Funktion: http://codex.wordpress.org/Function_Reference/get_the_author_meta

In der folgenden Tabelle können Sie Benutzerebenen in Rollen konvertieren (sofern Sie keine benutzerdefinierten Rollen erstellt haben): http://codex.wordpress.org/Roles_and_Capabilities#User_Level_to_Role_Conversion

Beispielcode

$level = get_the_author_meta('user_level');

if($level >= 8) { // Is admin
    // do something
} else if ($level > 2 && $level < 8) { // is editor
    // do something else
}
0
5t3ph

in der Schleife:

the_author_meta('user_level'); 

erhalten Sie die Fähigkeitsnummer des Autors. Das ist nah, aber nicht ganz das, was Sie wollen ... obwohl Sie das in die Standardrollen WP übersetzen könnten.

um die Rollen zu erhalten, können Sie Folgendes tun (wodurch ALLE Rollen, die ein Benutzer hat, ausgespuckt werden):

$user = new WP_User( get_the_author_meta('ID'));

if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
    foreach ( $user->roles as $role )
        echo $role;
};

http://wordpress.org/support/topic/get-a-users-role-by-user-id?replies=20#post-1363118

0
helgatheviking