Ubah hala WordPress berasaskan peranan menggunakan cangkuk login_url
P粉533898694
P粉533898694 2023-09-11 17:53:57
0
1
638

Saya cuba menggunakan login_url Ia berfungsi untuk pengguna yang tidak log masuk. Tetapi ia tidak berfungsi untuk pengguna log masuk (ia mengubah hala mereka ke halaman /access-denied/, yang pelik) dan saya tidak tahu mengapa.

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

membalas semua(1)
P粉369196603

Ia tidak terlalu sukar:

$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;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!