Antworten:
Ein noch einfacherer Weg, als @Brady Ihnen gezeigt hat, ist die Verwendung von current_user_can
:
if ( current_user_can( 'subscriber' ) )
echo "Hi, dear subscriber! Glad seeing you again!";
Es gibt auch ein Äquivalent für MU-Installationen mit dem Namen current_user_can_for_blog
:
global $blog_id;
if ( current_user_can_for_blog( $blog_id 'subscriber' ) )
echo "Hi, dear subscriber! Glad seeing you again on this blog!";
Wenn Sie sich die Quelle der Funktionen für Einzel- oder MU-Installationen ansehen, werden Sie feststellen, dass sich beide im Wesentlichen auf die Funktionen verlassen wp_get_current_user()
und diese dann überprüfen has_cap
. Wenn Sie nun sehen möchten, woher die Kappe kommt, WP_User
kommt die Klasse / das Objekt ins Spiel.
Dann gibt es auch noch author_can( $GLOBALS['post'], 'capability' );
. Alle diese Funktionen befinden sich ~/wp-includes/capabilities
direkt untereinander.
Wo ist der Unterschied zwischen current_user_can(_FOR_BLOG)
und user_can
?
user_can()
ist die neuere (seit 3.1), benötigt aber den Benutzer als Objekt. Sie können es also in Fällen verwenden, in denen Sie nicht den aktuellen Benutzer, sondern einige Benutzer ansprechen möchten .current_user_can_*()
Es ist offensichtlich.author_can()
Mit dieser Option können Sie Funktionen anhand eines Post-Objekts überprüfen. Dieses Objekt ist nur für Beiträge verfügbar, die sich bereits in der Datenbank befinden. Es dient also hauptsächlich dazu, den Zugriff auf bestimmte Post-Funktionen zuzulassen / zu verweigern.Ist es das was du meinst?
global $userdata;
get_currentuserinfo();
if ( $userdata->user_level != 0 )//check user level by level ID
{
echo 'User is a not Subscriber';
}
else
{
echo 'User is a Subscriber';
}
Weitere Details zu den IDs für verschiedene Ebenen: http://codex.wordpress.org/Roles_and_Capabilities#User_Levels
Es gibt auch die Funktion current_user_can (), mit der Sie bestimmte Funktionen für mehr Flexibilität angeben können. http://codex.wordpress.org/Function_Reference/current_user_can
To maintain backwards compatibility with plugins that still use the user levels system (although this is very much discouraged), the default Roles in WordPress also include Capabilities that correspond to these levels. User Levels were finally deprecated in version 3.0.
current_user_can()
Codex-Seite hat sich AFAIK nicht geändert.