如何删除我的自定义帖子类型中的“添加新内容”按钮?

时间:2014-11-22 作者:Lucas Santos

我有许多需要添加[自定义帖子类型]功能的自定义帖子类型,但我有一个自定义帖子类型“About”,我不需要在About自定义帖子类型中添加新的About。因此,我想删除顶部显示“添加关于”的按钮

这就是我的意思:

enter image description here

你知道我怎样才能去掉它吗?

5 个回复
最合适的回答,由SO网友:Helping Hands 整理而成

请参考以下内容:

function disable_new_posts() {
    // Hide sidebar link
    global $submenu;
    unset($submenu[\'edit.php?post_type=CUSTOM_POST_TYPE\'][10]);

    // Hide link on listing page
    if (isset($_GET[\'post_type\']) && $_GET[\'post_type\'] == \'CUSTOM_POST_TYPE\') {
        echo \'<style type="text/css">
        #favorite-actions, .add-new-h2, .tablenav { display:none; }
        </style>\';
    }
}
add_action(\'admin_menu\', \'disable_new_posts\');

SO网友:TompaLompa

更漂亮的解决方案是禁用创建自定义\\u post\\u类型的功能:

只需传递参数\'create_posts\' => \'do_not_allow\', 调用时在功能阵列中register_post_type.

$args = array(
        \'label\'               => __( \'Custom Post Type\', \'text_domain\' ),
        \'description\'         => __( \'Custom Post Type\', \'text_domain\' ),
        \'labels\'              => $labels,
        \'supports\'            => array( ),
        \'hierarchical\'        => false,
        \'public\'              => true,
        \'show_ui\'             => true,
        \'show_in_menu\'        => true,
        \'show_in_nav_menus\'   => true,
        \'show_in_admin_bar\'   => true,
        \'has_archive\'         => true,
        \'exclude_from_search\' => false,
        \'publicly_queryable\'  => true,
        \'map_meta_cap\'        => true,
        \'capabilities\' => array(
            \'create_posts\' => \'do_not_allow\'
        )
    );
    register_post_type( \'custom_post_type\', $args );

SO网友:Ni Xiaoni

然后,如果您只想删除添加新内容,而您没有使用custom_post_type, 你不应该使用\'capability_type\' => \'custom_post_type\'. 您最好删除此代码。祝你好运:)

因此,演示如下:

array(
\'labels\' => $member_labels,
\'has_archive\' => true,
\'public\' => true,
\'hierarchical\' => true, // like page
\'rewrite\' => array(\'slug\' => \'member_pages\'),
\'supports\' => array(
    \'title\',
    \'editor\',
    \'excerpt\',
    \'custom-fields\',
    \'thumbnail\',
    \'page-attributes\',
),
\'taxonomies\' => array(\'post_tag\', \'cm_club\'),
// \'capability_type\' => \'custom_post_type\',
\'capabilities\' => array(
    \'create_posts\' => false,
),
\'map_meta_cap\' => true,
)

SO网友:bynicolas

编辑了@TompaLompa的答案,因为它不完整。正在添加create_posts => false 如果map_meta_cap 未设置为true.

未设置此参数(或将其设置为false) 也将禁用帖子类型的编辑。这是因为您需要添加edit_post 每个用户角色的功能,以便addedit 您的帖子类型。

设置此参数将使用WP内部默认元功能处理,如果您不需要比默认WP功能更精细地控制角色功能,则可以使用此参数。

SO网友:Navesh Kintali

我觉得最好的方法是安装add admin javascript插件并激活它,然后转到设置并添加javascript在最后一个框中编写此代码

$(\'.wrap .wp-heading-inline\').remove();
$(\'.wrap .page-title-action\').remove();
$(\'#wp-admin-bar-new-content\').remove();

结束

相关推荐

查看wp-admin时出现空白页面

我只是为我的网站添加了一个新用户,一切都很顺利。突然,当我想去www.example.com/wp-admin 它只显示一个白色空白页,并重定向到此地址:http://www.example.com/wp-login.php?redirect_to=http%3A%2F%2Fwww.mysite.com%2Fwp-admin%2F&reauth=1我怎样才能解决这个问题?任何帮助都将不胜感激