2017-05-24 71 views
1

我只是給單個站點管理員通過將下面的代碼到我的自定義插件與用戶角色涉及添加全新的用戶的權利:現在如何刪除WP多站點管理員的「添加現有用戶」選項?

function mc_admin_users_caps($caps, $cap, $user_id, $args){ 

foreach($caps as $key => $capability){ 

    if($capability != 'do_not_allow') 
     continue; 

    switch($cap) { 
     case 'edit_user': 
     case 'edit_users': 
      $caps[$key] = 'edit_users'; 
      break; 
     case 'delete_user': 
     case 'delete_users': 
      $caps[$key] = 'delete_users'; 
      break; 
     case 'create_users': 
      $caps[$key] = $cap; 
      break; 
    } 
} 

return $caps; } 

add_filter('map_meta_cap', 'mc_admin_users_caps', 1, 4); 
remove_all_filters('enable_edit_any_user_configuration'); 
add_filter('enable_edit_any_user_configuration', '__return_true'); 

,在我的管理日誌,他們可以添加新用戶按照我希望的方式使用用戶,但我不想讓他們選擇添加現有用戶。我附上了截圖,以幫助您瞭解我在說什麼。任何關於如何保持管理員添加新用戶但不存在的功能的想法? The screenshot, I don't want the section called "Add Existing User" to appear anymore.

回答

0

我剛剛遇到同樣的問題。對於未來的參考:

要隱藏「添加現有用戶」形式網絡管理員>用戶,您可以將過濾器添加到默認站點的functions.php像這樣

add_filter('show_network_site_users_add_existing_form', false); 

然而,這種韓元不要從各個站點刪除表單。爲此,您只需要使用CSS隱藏表單,因爲沒有過濾器可用。

以下內容添加到您的默認網站主題的functions.php

add_action('admin_head', 'remove_existing_user_form'); 
function remove_existing_user_form() { 
    if (!is_super_admin()) { 
     echo '<style> 
      #add-existing-user, 
      #add-existing-user + p, 
      #adduser { 
       display: none; 
      } 
     </style>'; 
    } 
} 

這並不理想,但它隱藏了除超級管理員的所有用戶的形式,並且是我落得這樣做。

相關問題