Wordpress功能强制所有用户的仪表板

时间:2013-10-10 20:46:58

标签: php wordpress dashboard

我试图强制将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 ); 
    } 
}

1 个答案:

答案 0 :(得分: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;
}