Làm cách nào để xóa quyền truy cập bảng điều khiển khỏi các vai trò người dùng cụ thể?


11

Tôi muốn ngăn một số vai trò người dùng truy cập vào bảng điều khiển http://www.openeye.net/wp-admin/ . Tôi đã di chuyển và sắp xếp lại hồ sơ người dùng sang một trang mới có thể xem được trên trang web. Tôi sẽ đi đâu để tới đó?


Tôi đã yêu cầu WooC Commerce thay đổi thiết lập của họ, vì vậy có thể quản lý ủy quyền cho một phần của menu. Ý tưởng cần bình chọn trên: https : //ideas.wooc Commerce.com Vui lòng cho nó tối đa 3 điểm, cảm ơn!
Stefan

Câu trả lời:


23

Để khóa người đăng ký và người đóng góp ra khỏi quản trị viên:

function wpse23007_redirect(){
  if( is_admin() && !defined('DOING_AJAX') && ( current_user_can('subscriber') || current_user_can('contributor') ) ){
    wp_redirect(home_url());
    exit;
  }
}
add_action('init','wpse23007_redirect');

Mong rằng sẽ giúp. Tất cả các vai trò cung cấp cho người dùng một khả năng là tên của vai trò đó, vì vậy bạn có thể sử dụng bất kỳ tên vai trò nào làm khả năng.


Tuyệt vời, tuy nhiên tôi đang gặp lỗi cú pháp trên dòng thứ hai.
Zach Shallbetter

Oh ok nó liên quan đến phần bổ sung (sau ('DOING_AJAX')
Zach Shallbetter

Ồ xin lỗi; đó là cố ý. Đáng lẽ phải có một cái khác đóng lại ở cuối. Tôi đã thêm nó vào câu trả lời.
John P Bloch

Có một lý do nào đó không hoạt động với chủ đề năm 2011 và các plugin thành viên?
Zach Shallbetter

Điều này dường như không hoạt động trên các trang web mạng, bất kỳ ý tưởng tại sao?
Zach Shallbetter

1
//If User Roll is Subscriber, It can not login in Dashboard 
function wpse23007_redirect()
{
    if( is_admin() && !defined('DOING_AJAX') && current_user_can('subscriber') )
    {
        wp_logout();
        wp_redirect(home_url());
        exit;
    }
}
add_action('init','wpse23007_redirect');


0
 add_action('init', function(){

      $redirect = isset( $_SERVER['HTTP_REFERER'] ) ? $_SERVER['HTTP_REFERER'] : home_url( '/' );
      $user = wp_get_current_user();
      if ( !defined('DOING_AJAX') && in_array( 'subscriber', (array) $user->roles ) ) {

          wp_redirect($redirect);
          exit();
      }
});
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.