it-swarm-tr.com

Özel yazı tipimdeki "Yeni Ekle" düğmesini nasıl kaldırabilirim?

Add [custom post type] özelliğine ihtiyaç duyan birçok özel yazı türüm var ancak "About" özel bir yazı türüne sahibim ve yaklaşık özel post tipine "Yeni Eklemek" zorunda değilim. Bu yüzden üstünde "Ekle" yazan düğmeyi kaldırmak istiyorum.

Demek istediğim bu:

enter image description here

Bunu nasıl kaldırabilirim?

7
Lucas Santos

Lütfen aşağıya bakınız:

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');
5
Helping Hands

Daha güzel bir çözüm custom_post_type oluşturma yeteneğini devre dışı bırakmak olacaktır:

'create_posts' => false, parametresini register_post_type komutunu çağırırken basitçe yazın.

$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,
        'capability_type' => 'custom_post_type',
        'capabilities' => array(
            'create_posts' => false
        )
    );
    register_post_type( 'custom_post_type', $args );
23
TompaLompa

@ TompaLompa'nın cevapları eksik olduğu için düzenlendi. create_posts => false, true olarak ayarlanmadığında map_meta_cap eklemek işe yaramaz.

Bu parametrenin ayarlanması (veya false olarak ayarlanması), yazı tipinin düzenlenmesini de devre dışı bırakacaktır. Bunun nedeni, add AND edit post tipinizi oluşturmak için her kullanıcı rolüne edit_post yeteneği eklemeniz gerekmesidir.

Bu parametrenin ayarlanması, WP dahili varsayılan meta yetenek işleme işlevini kullanır ve rol yetenekleri üzerinde daha iyi bir kontrole ihtiyacınız yoksa, varsayılan WP olanları daha iyi kontrol etmenize gerek kalmazsa sizin için çalışmasını sağlar.

2
bynicolas

Ardından, Add New komutunu kaldırmak istiyorsanız ve custom_post_type kullanmıyorsanız, 'capability_type' => 'custom_post_type' kullanmamalısınız. Bu kodu kaldırmak daha iyi olur. İyi şanslar :)

Yani, demo aşağıda:

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,
)
0
Ni Xiaoni

Hissediyorum en iyi yolu add-admin-javascript eklentisi yüklemek ve etkinleştirmek sonra ayarlarına gidin ve bu kodu son kutuya yazmak javascript eklemek

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