Rollenbasierte WordPress-Umleitung mit login_url-Hook
P粉533898694
P粉533898694 2023-09-11 17:53:57
0
1
556

Ich versuche login_url zu verwenden Es funktioniert für Benutzer, die nicht angemeldet sind. Aber es funktioniert nicht für angemeldete Benutzer (es leitet sie auf die/access-denied/-Seite weiter, was seltsam ist) und ich weiß nicht wirklich warum.

global $current_user; $current_user = wp_get_current_user(); function my_login_page( $login_url ) { $user = $current_user; $valid_roles = [ "administrator", "editor", "custom-role" ]; $the_roles = array_intersect( $valid_roles, $user->roles ); if ( empty( $the_roles ) ) { return ( "/access-denied/" ); } else { return ( "/login/" ); } } add_filter( "login_url", "my_login_page", 10 );

P粉533898694
P粉533898694

Antworte allen (1)
P粉369196603

这并不太难:

$user = $current_user; $valid_roles = [ 'administrator', 'editor', 'custom-role' ]; $the_roles = array_intersect( $valid_roles, $user->roles ); if ( empty( $the_roles ) ) { nocache_headers(); wp_safe_redirect( '/access-denied/' ); exit; }
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!