1

我试图强制将 wordpress 仪表板部分作为所有用户的欢迎消息,但失败了。有没有人在订阅者登录时强制使用仪表板的功能?

// Redirect admin to the dashboard and other users elsewhere 
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 ); 

function my_login_redirect( $redirect_to, $request, $user ) { 
    // Is there a user? 
    if ( is_array( $user->roles ) ) { 
        // Is it an administrator? 
        if ( in_array( 'administrator', $user->roles ) ) 
            return home_url( '/wp-admin/' ); 
        else 
            return home_url(); 
            // return get_permalink( 83 ); 
    } 
}
4

1 回答 1

0

您必须检查是否$user已设置,然后检查它是否为数组。如果启用了 WP_DEBUG,这将防止 PHP 通知。

然后,使用函数site_url()admin_url()设置重定向:

add_filter( 'login_redirect', 'login_redirect_so_19305904', 10, 3 ); 

function login_redirect_so_19305904( $redirect_to, $request, $user ) 
{ 
    if ( isset( $user->roles ) && is_array( $user->roles ) ) 
    { 
        if ( in_array( 'administrator', $user->roles ) ) 
            return admin_url( 'edit.php' ); // Goes to example.com/wp-admin/edit.php
        else 
            return site_url( 'about' ); // Goes to example.com/about/
    } 
    return $redirect_to;
}
于 2013-10-10T21:46:27.063 回答