current_user_can (‘Administrator’) funktioniert nicht in der benutzerdefinierten Anmeldung

Ich verwende ein benutzerdefiniertes Login-Formular auf einer Website und habe Probleme beim automatischen Umleiten von Admins zum Dashboard.

Unten ist die Login-function

function auth( $username, $password, $redirect ) { global $user; $credentials = array(); $credentials ['user_login'] = $username; $credentials ['user_password'] = $password; $credentials ['remember'] = true; $user = wp_signon( $credentials , false ); if ( is_wp_error($user) ) { echo $user->get_error_message(); } $admin_url = home_url('wp-admin'); if ( !is_wp_error($user) ) { if (current_user_can('administrator')) { wp_redirect($admin_url); } else { wp_redirect($redirect); } } } 

Wenn ich mich als Administrator current_user_can('administrator') , gibt current_user_can('administrator') false .

Wenn ich in die function $current_user = wp_get_current_user(); , $current_user = wp_get_current_user(); scheint Daten zu holen, sieht aber so aus, als würde es nicht alles bekommen, daher die false Antwort.

Ich habe auch versucht, is_admin() aber das funktioniert auch nicht.

Solutions Collecting From Web of "current_user_can (‘Administrator’) funktioniert nicht in der benutzerdefinierten Anmeldung"