Ich habe viele benutzerdefinierte Beitragstypen, die die Funktion [Benutzerdefinierten Beitragstyp hinzufügen] benötigen, aber ich habe den benutzerdefinierten Beitragstyp "Info" und ich muss dem benutzerdefinierten Beitragstyp "Info" nicht "Neu" hinzufügen. Also möchte ich den Button oben entfernen, der "Add About" sagt.
Das ist was ich meine:
Irgendeine Idee, wie ich das entfernen kann?
Siehe unten :
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');
Eine schönere Lösung wäre, die Fähigkeit zum Erstellen eines benutzerdefinierten Post-Typs zu deaktivieren:
Übergeben Sie einfach den Parameter 'create_posts' => false, im Capabilities-Array, wenn Sie register_post_type aufrufen.
$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 );
Die Antwort von @ TompaLompa wurde bearbeitet, da sie unvollständig war. Das Hinzufügen von create_posts => false
funktioniert nicht, wenn map_meta_cap
nicht auf true
gesetzt ist.
Wenn Sie diesen Parameter nicht einstellen (oder auf false
setzen), wird auch die Bearbeitung des Beitragstyps deaktiviert. Dies liegt daran, dass Sie jeder Benutzerrolle edit_post
-Funktionen hinzufügen müssen, um add AND edit Ihren Beitragstyp zu ändern.
Wenn Sie diesen Parameter festlegen, wird das WP interne Standard-Metafunktionshandling verwendet, damit es für Sie funktioniert, wenn Sie keine genauere Kontrolle über die Rollenfunktionen benötigen als die standardmäßigen WP.
Wenn Sie dann nur Add New entfernen möchten und custom_post_type
nicht verwenden, sollten Sie 'capability_type' => 'custom_post_type'
nicht verwenden. Sie sollten diesen Code entfernen. Viel Glück :)
Die Demo ist also unten:
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,
)
Am besten installiere ich das Add-Admin-Javascript-Plugin und aktiviere es. Gehe dann zu den Einstellungen und füge Javascript hinzu. Schreibe diesen Code in das letzte Feld
$('.wrap .wp-heading-inline').remove();
$('.wrap .page-title-action').remove();
$('#wp-admin-bar-new-content').remove();