web-dev-qa-db-fra.com

Comment tester pour Super Admin

J'ai le code suivant dans mon fichier mu-plugins.php et la fonction is_super_admin() n'entraîne pas correctement la valeur true.

Je cours v4.2.4

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

Quelqu'un peut-il voir une raison pour laquelle?

Notes:

Intéressant

Le code ci-dessous renvoie vide pour le current user login username. Je me demande si j'ai mon crochet au mauvais endroit.

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' );

Notes additionnelles:

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(); ne fonctionne pas dans la fonction () ci-dessus
  • $user_login fonctionne dans la fonction () ci-dessus
  • $user entraîne une erreur du serveur 500
2
tammy

Je l’ai obtenu comme suit - dans le répertoire mu-plugins, mon script superAdmin.php ressemble à ceci:

<?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 );

?>

J'espère que cela aide quelqu'un qui veut accrocher de la même manière.

1
tammy