Posted at

カスタム投稿の編集権限だけつける

More than 5 years have passed since last update.

新規投稿はさせたくないけど、公開済みで自分がauthorになっているものは編集させたい、って時に。

管理者がひな形を作って、後はユーザに記事のメンテを任せたい、ってケースはあるのじゃないかな。ページ的なカスタム投稿と言えば良いのだろうか。edit_postsだと投稿はできないのだけど、新規作成画面を開けてしまうので、それはNG.

新規投稿ができる=削除もできると考えて、register_post_typeでcapabilitiesを登録するときに、

$capabilities = array(

//他の権限
'create_posts' => 'delete_xxxs'
);

として、編集させたいユーザに'edit_xxxs'をつけて、'publish_xxxs'はつけない(当然delete_xxxsも)。こうすると、自分が編集できるものを編集出来るだけなので、新規投稿画面がメニューに出なくなった。