mu-plugins.php
ファイルに次のコードがあり、is_super_admin()
関数が正しくtrueにならない。
私は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' );
誰もが理由を見ることができますか?
注:
Super Admin
としてタグ付けされています面白い
以下のコードはcurrent user login username
に対して空を返します。フックを間違った場所に持っていないのでしょうか。
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' );
追加の注意事項:
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();
は上記のfunction()内では動作しません$user_login
は上記のfunction()内で動作します$user
はサーバー500エラーになりますMu-pluginsディレクトリでは、私のsuperAdmin.php
スクリプトは次のようになります。
<?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 );
?>
これが、同じ方法でフックしたい人に役立つことを願っています。