如何阻止用户访问wordpress'用户个人资料

时间:2014-06-10 15:28:00

标签: php wordpress admin

我刚刚完成了一个管理员和用户在wordpress中使用个人资料的网站,但是,我的客户希望我阻止用户使用wordpress用户个人资料。这是最新发生的事情:

用户只需键入“http://www.domain.com/wp-admin”即可查看wordpress仪表板,该用户无法进行任何更改,只能访问授予他的“信息中心”和“个人资料”部分没有力量。

但是我的客户希望阻止常规用户访问此页面。

我该怎么做?

由于

3 个答案:

答案 0 :(得分:2)

您可以使用登录重定向过滤器,如果当前登录的用户角色是“订阅者”,则进行如下测试,如此 - 重定向到某种绝对值,如果您有成员页并且您知道ID,则可以使用get_permalink()并将其归还。如果当前用户角色是“管理员”,请将它们放在仪表板上。如果它既不是管理员也不是订阅者,或者如果我们因任何原因不知道用户角色,请将它们重定向到我们网站的首页。您可以将以下内容放入主题functions.php文件中。 wp-content -> themes -> your-theme

/** Redirect Members to Member Pages **/
function member_redirect($redirect, $request, $user)
{
    global $user;
    if(isset($user->roles) && is_array($user->roles))
    {
        if(in_array("subscriber", $user->roles))
            return "ABSOLUTE_URL_HERE - maybe use get_permalink()";
        else if(in_array("administrator", $user->roles))
            return admin_url('index.php');
        else
            return home_url();
    }
    else{
        return home_url();  
    }
}
add_filter("login_redirect", "member_redirect", 10, 3);

答案 1 :(得分:0)

/ **  *限制贡献者(最低角色)访问wordpress管理面板  * /

function restrict_user() {

    if ( ! current_user_can('edit_post') ) {
        wp_die( __( 'You are not allowed to access this part of the site' ) );
    }
}
add_action( 'admin_init', 'restrict_user', 1 );

答案 2 :(得分:0)

使用

function restrict_user_wpadmin() {
    if ( ! current_user_can('edit_post') ) {
        wp_redirect( '/' );
        exit;
    }
}
add_action( 'admin_init', 'restrict_user_wpadmin', 1 );