2017-10-14 16 views
0

"pre_get_posts"アクションを使用して、Wordpressの管理者の投稿のクエリリストを変更しようとしています。私が達成したいのは、特定の役割を果たすユーザーが特定のカテゴリの投稿のみを表示することです。たとえば、ユーザーに 'Insider Editor'の役割がある場合、特定のカテゴリを持つ投稿のみを編集できるようにする必要があります。そのため、管理者の投稿リストで編集可能な投稿のみを表示します。管理者の投稿一覧に複数のカテゴリの投稿を取得する

カテゴリ「2」の36の投稿とカテゴリ3の「投稿」が1つしかありません。管理者には36件の投稿が表示されていますが、合計項目数が正しく表示されても(37)、「2」になります。 $wp_query_obj->set('cat', '2,3');が正常に動作していないのはなぜここ

は私のコード

public function filter_post_for_xbox_insider_role($wp_query_obj) 
{ 
    global $pagenow; 

    if(!is_admin()){ 
     return; 
    } 

    if('edit.php' != $pagenow) 
    { 
     return; 
    } 

    if('post' != $wp_query_obj->query['post_type']) 
    { 
     return; 
    } 

    $user = wp_get_current_user(); 

    if($user->roles[0] != 'insider_editor') 
    { 
     return; 
    } 

    $wp_query_obj->set('cat', '2,3'); 

} 

のですか?

おかげ

答えて

0

あなたはボックスのダニにRole Scoperが必要なものを行い、すでにプラグインがあります。

+0

Role Scoperはもはや積極的に開発されていません... – Gustav

+0

ユーザーテーブルとロールは決して変更または廃止されることはほとんどないため、安全に使用できます。私はSEO、アンプ、テーマプラグインについて心配します –

関連する問題