2017-10-16 95 views
2

我想找到一種方法來定製Wordpress中的list_users功能, 我已經創建了一個名爲my_admin的新角色,並且我添加了一些功能。 問題是,list_users功能顯示所有用戶,而我想根據用戶元字段只顯示一組用戶。我如何定製WordPress的list_users功能?

另一個關於edit_users能力的問題是,我可以限制這種編輯用戶而不提升它們的能力,這種能力可以編輯用戶並提升用戶,這意味着它也可以改變用戶角色。有什麼辦法可以從中刪除這個促進功能,我是否也可以只選擇一個輸入字段進行編輯並刪除其他字段?

function my_new_service_capabilities() { 

    // Get the role object. 
    $editor = get_role('my_admin'); 

    // A list of capabilities to add. 
    $addcaps = array(
    'read', 
    'edit_posts', 
    'list_users', //I need to list users according to a user meta value. 
    'edit_users', //I need to enable editing users in only one input field 
    'moderate_comments', 
    ); 

    foreach ($addcaps as $acap) { 

     // Add the capability. 
     $editor->add_cap($acap); 
    } 
} 
add_action('init', 'my_new_service_capabilities'); 
+1

有WordPress的研究與開發問題網站:http://wordpress.stackexchange.com – mmm

回答

0

我認爲這應該爲你工作→ https://codex.wordpress.org/Class_Reference/WP_User_Query

步驟→

  1. 檢索所有用戶。
  2. 用戶每個循環。
  3. 使用meta_query參數,因爲WP將能力存儲爲user_meta中的json 字符串。

我給你一個線索如何做到這一點→

$entire_user_list = get_users(); 
    $somse_users= array(); 

    foreach($entire_user_list as $user){ 

     if($user->has_cap('specific_capability')){ 
      $somse_users[] = $user; 
     } 

    } 
+0

我想在用戶部分在管理 – Tarek

+0

顯示這個你可以請詳細說明.... – somethingnow

+0

的'list_users'能力時分配給用戶角色,它使用戶能夠查看管理區域中的所有其他用戶,我需要對其進行自定義,以便用戶根據用戶元字段僅查看一組用戶。 – Tarek

0

我已經使用DOMDocument類解決它。