2017-05-17 21 views
0

私はWordpressでカスタム投稿タイプを作成しました。私はこれで何でもできます。しかし、私はこのカスタム投稿タイプのものだけを追加、編集、削除できるロール "クライアント"を作成したいので、通常の投稿を投稿したり、編集したり、削除したり、ページを削除したりすることはできません。Wordpressカスタム投稿タイプのロール

これらは私のカスタムポストタイプ

$args = array(
    'labels' => $labels, 
    'public' => true, 
    'has_archive' => true, 
    'publicly_queryable' => true, 
    'query_var' => true, 
    'rewrite' => true, 
    'capability_type' => 'post', 
    'hierarchical' => false, 
    'supports' => array(
     'title', 
     'thumbnail' 
    ), 
    'capabilities' => array(
     'edit_post' => 'edit_portfolio', 
     'edit_posts' => 'edit_portfolios', 
     'edit_others_posts' => 'edit_others_portfolios', 
     'publish_posts' => 'publish_portfolios', 
     'read_post' => 'read_portfolios', 
     'read_private_posts' => 'read_private_portfolios', 
     'delete_post' => 'delete_portfolio', 
    ), 
    'map_meta_cap' => true, 
    'menu_icon' => 'dashicons-screenoptions', 
    'menu_position' => 5, 
    'show_ui' => true, 
    'exclude_from_search' => false 
); 

の私の引数であり、これらは私が今

add_role("client", "Client", array(
    'read' => true, // allows this capability, dashboard 
    'upload_files'=>true, //allows user to upload files 
    'edit_posts' => false, // denies user to edit their own posts 
    'edit_pages' => false, // denies user to edit pages 
    'edit_others_posts' => false, // denies user to edit others posts not just their own 
    'create_posts' => false, // denies user to create new posts 
    'manage_categories' => false, // denies user to manage post categories 
    'publish_posts' => false, // denies the user to publish 
    'edit_themes' => false, // false denies this capability. User can’t edit your theme 
    'install_plugins' => false, // User cant add new plugins 
    'update_plugin' => false, // User can’t update any plugins 
    'update_core' => false, // user cant perform core updates 
    'edit_portfolios' => true, // allows editing of the user’s own portfolio 
    'edit_others_portfolios' => true, // allows the user to edit everyone else’s portfolio 
    'delete_portfolios' => true, // allows to delete portfolio written by that user 
    'delete_others_portfolios' => true, // allows to delete portfolio written by other users 
    'publish_portfolios' => true // allows the user to publish portfolio, otherwise posts stays in draft mode 
)); 

に効果を作成した役割は、彼らがダッシュボードにポストを見ることができるということですが、変更したりクリックしたり、削除することはできません。メッセージを投稿すると、エラー画面に表示され、表示されません。事前

答えて

0

私はこの問題を抱えている人にも答えを見つけました。 この機能を配置してtrueに設定する必要があります。

'delete_posts'=>'delete_portfolios', 
'delete_others_posts'=>'delete_others_portfolios', 
'delete_published_posts'=>'delete_published_portfolios', 
'delete_private_posts'=>'delete_private_portfolios' 
0

おかげで私はプログラム的にこれをやったことがないが、あなたはプラグインを使用して気にしないされている場合、私はいくつかのサイトとその迅速かつ簡単に、このhttps://wordpress.org/plugins/user-roles-and-capabilities/ 1を使用していました。

私はプラグインに対する嫌悪感を持っている人もいると思いますが、その人には何の問題もありませんでした。

+0

お返事ありがとうございました。 私はプラグインを見ると、これを行う正しい権利があると思います。 私は自分のコードでもっと何かが必要だと思います。 – Arne

関連する問題