it-swarm.com.de

So testen Sie für Super Admin

Ich habe den folgenden Code in meiner mu-plugins.php-Datei und die is_super_admin()-Funktion führt nicht korrekt zu true.

Ich lasse v4.2.4 laufen

function check_for_superAdmin() {
    if ( is_super_admin() ) { echo 'I\'m a Super Admin !'; exit; }
}
add_action( 'wp_login', 'check_for_superAdmin' );

Kann jemand einen Grund dafür sehen?

Anmerkungen:

Interessant

Der folgende Code gibt für den current user login username leer zurück. Ich frage mich, ob ich meinen Haken am falschen Ort habe.

function check_for_superAdmin() {
    $curUser = wp_get_current_user();
    echo $curUser->user_login . ' is the user';
    exit;
    if ( is_super_admin() ) { echo 'I am the Super Admin !'; exit; }
}
add_action( 'wp_login', 'check_for_superAdmin' );

Zusätzliche Hinweise:

function check_for_superAdmin($user_login, $user) {
    //$current_user = wp_get_current_user(); // THIS DOES NOT FIND THE CURRENT USER
    //echo $user_login; // THIS ACCURATELY SHOWS THE LOGGED IN USER
    //echo $user; // THIS THROWS A SERVER 500 ERROR
}
add_action( 'wp_login', 'check_for_superAdmin', 10, 2 );
  • $current_user = wp_get_current_user(); funktioniert nicht innerhalb der obigen function ()
  • $user_login funktioniert innerhalb der obigen Funktion ()
  • $user führt zu einem Server 500-Fehler
2
tammy

Ich habe es wie folgt zum Laufen gebracht - im mu-plugins-Verzeichnis sieht mein superAdmin.php-Skript so aus:

<?php

function check_for_superAdmin($user_login, $user) {
    $current_user = get_userdatabylogin($user_login);
    if ( is_super_admin( $current_user->ID ) ) { // do these things }
    else { // do other things }
}
add_action( 'wp_login', 'check_for_superAdmin', 10, 2 );

?>

Hoffe, das hilft jemandem, der auf die gleiche Weise einhaken will.

1
tammy