2013-02-15 42 views
0

我有一個WordPress的網站設置,裏面有一個主管理員,然後我有用戶角色管理器來更改訂閱者角色,以便能夠添加新用戶。然後,我成功地限制了訂閱者只讓新用戶成爲我創建「播放器」的新角色。限制wordpress用戶只編輯具有相同元鍵值的用戶

然後我爲每個用戶添加了一個名爲「遊戲」的自定義字段。用戶只能改變他和「玩家」的自定義字段。玩家不能更改此值。

我需要在用戶登錄時更改「所有用戶」頁面,以僅顯示具有相同cutom字段值的用戶列表爲「遊戲」。

我已經嘗試了各種不同的插件,並試圖自己dablle在不斷變化的代碼,但沒有奏效:(

任何幫助表示讚賞

安迪

回答

1

得到了這個問答&一個代碼,Remove Ability for Other Users to View Administrator in User List?

您將需要調整它有點適應您的角色和功能,可能很多改變meta_keymeta_value值。我已經添加了$pagenow的支票,以確保這隻會在/wp-admin/users.php中觸發。

add_action('pre_user_query', 'filter_users_wpse_10742'); 

function filter_users_wpse_10742($user_search) 
{ 
    global $pagenow; 
    if('users.php' != $pagenow) 
     return; 

    $user = wp_get_current_user(); 

    if ($user->roles[0] != 'administrator') 
    { 
     global $wpdb; 

     $user_search->query_where = 
     str_replace('WHERE 1=1', 
      "WHERE 1=1 AND {$wpdb->users}.ID IN (
       SELECT {$wpdb->usermeta}.user_id FROM $wpdb->usermeta 
        WHERE {$wpdb->usermeta}.meta_key = '{$wpdb->prefix}user_level' 
        AND {$wpdb->usermeta}.meta_value != 10)", 
      $user_search->query_where 
     ); 
    } 
} 
+0

這正是我需要的,謝謝:) – AndrewBramwell 2013-02-19 16:12:25

+0

究竟是這個工作作爲「pre_user_update」據我知道是不是WordPress的功能,它不是HTTP中列出://codex.wordpress。 org/Function_Reference pre_user_query如何調用? – AndrewBramwell 2013-02-19 20:23:54

+0

啊iv找到了一些新的列表,忽略了最後一個問題。謝謝您的幫助 :) – AndrewBramwell 2013-02-19 21:02:20

相關問題