ユーザーが投稿を編集しますが、新しい追加ではありませんか?
-
16-10-2019 - |
質問
カスタム投稿タイプの1つでは、特定のユーザーに、管理者によって作成された既存の投稿を編集できますが、新しい投稿を追加できないようにします。
これはどうすればいいですか?
ユーザーの役割を公開できないと定義すると、新しい投稿を追加してレビューのために送信することができます。
解決
あなたはこのようなことをしなければなりません:
function hide_buttons() {
global $current_screen;
if($current_screen->id == 'edit-post' && !current_user_can('publish_posts')) {
echo '<style>.add-new-h2{display: none;}</style>';
}
}
add_action('admin_head','hide_buttons');
見る: http://erisds.co.uk/wordpress/spotlight-wordpress-admin-menu-remove-add-new-pages-or-posts-link 参考のために
他のヒント
以前の答えはメニュー項目をCSSで隠しているだけで、@ezejieldfmが指摘しているように、ユーザーが止まることはありません 実際に 投稿を追加できます。
代わりに、カスタム投稿タイプを登録するときは、 create_posts
値 do_not_allow
(また false
4.5以下のWordPressバージョンで)と重要な設定 map_meta_cap
に true
.
register_post_type( 'custom_post_type_name', array(
'capability_type' => 'post',
'capabilities' => array(
'create_posts' => 'do_not_allow', // Prior to Wordpress 4.5, this was false
),
'map_meta_cap' => true, // With this set to true, users will still be able to edit & delete posts
));
もしも map_meta_cap
除外されている、デフォルトです false
そして、あなたは能力を無効にしましたが 新しく追加する 投稿では、既存のものも編集または削除することもできないため、その値を含めてください。
完全なクレジットは行きます この答え スタックオーバーフロー。
所属していません wordpress.stackexchange