在由CPT用户界面生成的自定义帖子中禁用“Add New”

时间:2018-11-16 作者:aj noguerra

我一直在试图找到一种方法,在我使用CPT UI插件生成的自定义帖子类型中禁用添加新按钮。我尝试过这个解决方案-How can I remove the "Add New" button in my custom post type?但运气不好。

我知道在register\\u post\\u type函数中有一种方法可以做到这一点,但是,我的帖子类型已经使用插件创建,并且已经保存了一些数据。如果我使用该函数,我将不得不重新创建所有内容。

请帮忙

1 个回复
SO网友:aj noguerra

谢谢Milo. 之前没有考虑在我的函数中添加register\\u post\\u类型,因为我认为它会干扰我在CPT UI中创建的现有自定义post类型,结果证明它很有用,并且会覆盖CPT UI post类型。

我使用了相同的slug,它自动将数据连接到手动创建的post类型。代码如下:

function create_post_type() {
register_post_type( \'office_post\', 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 )
  ), 
  \'labels\' => array(
    \'name\' => __( \'Office\' ),
    \'singular_name\' => __( \'Office\' )
  ),
  \'map_meta_cap\' => true, // Set to `false`, if users are not allowed to edit/delete existing posts
  \'public\' => true,
  \'menu_icon\' => \'http://architecture.com/testdrive/wp-content/uploads/2018/04/logo-white-e1524992076968.png\',
));
} 
add_action( \'init\', \'create_post_type\' );

结束