質問

カスタム投稿タイプの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_postsdo_not_allow (また false 4.5以下のWordPressバージョンで)と重要な設定 map_meta_captrue.

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 そして、あなたは能力を無効にしましたが 新しく追加する 投稿では、既存のものも編集または削除することもできないため、その値を含めてください。

完全なクレジットは行きます この答え スタックオーバーフロー。

ライセンス: CC-BY-SA帰属
所属していません wordpress.stackexchange
scroll top