WordPress: Disable “Add New” on Custom Post Type

前端 未结 10 911
执笔经年
执笔经年 2020-12-07 14:58

Is there any way to disable the option of adding a new post under a Custom Post Type in WordPress (3.0)? I\'ve looked into labels and arguments but can\'t find anything that

10条回答
  •  失恋的感觉
    2020-12-07 15:08

    There is a meta capability create_posts that is documented here and is used by WordPress to check before inserting the various 'Add New' buttons and links. In your custom post type declaration, add capabilities (not to be confused with cap) and then set it to false as below.

    register_post_type( 'custom_post_type_name', array(
      'capability_type' => 'post',
      'capabilities' => array(
        'create_posts' => false, // Removes support for the "Add New" function ( use 'do_not_allow' instead of false for multisite set ups )
      ),
      'map_meta_cap' => true, // Set to `false`, if users are not allowed to edit/delete existing posts
    ));
    

    You'll probably want to set map_meta_cap to true as well. Without it, you won't be able to access the posts' editing pages anymore.

提交回复
热议问题