Intereting Posts
Получить URL-адрес страницы в блоге Параметры изменить виджет, чтобы отображать выдержку вместо содержимого Лучший способ показать модальный только один раз Передать переменную на вложенный короткий код Устанавливает post_parent в пользовательских сообщениях типа сообщений автоматически на основе имени cpt-> Скрыть текст, если нет главной страницы Обратные косые черты, удаленные из CSS get_posts из post x (offset => x) до конца Почему get_template_directory_uri () не включает «www», только для выставленных таблиц стилей? Страновые специальные шлюзы и валюта с WooCommerce Только администратор может видеть комментарии к сообщению или странице Использование Loop для отображения всех уровней подстраниц под родительской страницей? Почти на месте WordPress Core – оптимизация генерируемого meta_query SQL? Большое количество сообщений WordPress Добавить подменю, используя bootstrap wp_nav_menu

Как удалить кнопку «Добавить новую» в моем настраиваемом типе сообщений?

У меня есть много настраиваемых типов сообщений, для которых требуется функция «Добавить тип персонализированного сообщения», но у меня есть настраиваемый тип сообщений «О себе», и мне не нужно «добавлять новые» к типу персонализированного сообщения. Поэтому я хочу удалить кнопку сверху, которая говорит «Добавить о»,

Это то, что я имею в виду:

введите описание изображения здесь

Любая идея, как я могу удалить это?

Solutions Collecting From Web of "Как удалить кнопку «Добавить новую» в моем настраиваемом типе сообщений?"

См. Ниже:

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'); 

Лучше всего было бы отключить возможность создания custom_post_type:

Просто передайте параметр «create_posts» => false в массиве возможностей при вызове 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, 'capability_type' => 'custom_post_type', 'capabilities' => array( 'create_posts' => false ) ); register_post_type( 'custom_post_type', $args ); 

Отредактированный ответ @ TompaLompa, поскольку он был неполным. Добавление create_posts => false не будет работать, если map_meta_cap не установлен в true .

Не задавая этот параметр (или его значение false ), вы также отключите редактирование типа сообщения. Это связано с тем, что вам нужно добавить edit_post для каждой роли пользователя, чтобы добавить И изменить свой тип сообщения.

При установке этого параметра будет использоваться внутренняя обработка метаданных по умолчанию для внутреннего использования WP и заставить его работать для вас, если вам не требуется более тонкий контроль над возможностями роли, чем стандартные WP.

Затем, если вы просто хотите удалить Add New, и вы не используете 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, )