Удаление постоянной ссылки произвольного типа записи
Я зарегистрировал тип записи следующим образом --
$holidayLabels = array(
'name' => __( 'Праздники'),
'singular_name' => __( 'Праздники'),
'all_items' => __( 'Все Праздники'),
'add_new' => __( 'Добавить Новый Праздник'),
'add_new_item' => __( 'Добавить Новый Праздник'),
'edit_item' => __( 'Редактировать Праздник'),
'new_item' => __( 'Новый Праздник'),
'view_item' => __( 'Просмотр Праздников'),
'not_found' => __( 'Праздники не найдены'),
'not_found_in_trash' => __( 'Праздники не найдены в Корзине'),
'parent_item_colon' => ''
);
$holidayArgs = array(
'labels' => $holidayLabels,
'public' => true,
'publicly_queryable' => true,
'_builtin' => false,
'show_ui' => true,
'query_var' => true,
'rewrite' => array( "slug" => "holidays" ),
'capability_type' => 'post',
'hierarchical' => false,
//'menu_position' => 6, // Позиция в меню
'supports' => array( 'title'),
'has_archive' => false,
'show_in_nav_menus' => false,
);
register_post_type('holidays', $holidayArgs);
И я хочу удалить постоянную ссылку, которая появляется под заголовком, когда я создаю новый праздник или начинаю редактировать существующий.
Я хочу удалить это, потому что праздники будут отображаться в отдельном виджете. Я не хочу, чтобы администратор мог видеть их как отдельные записи. Для этого не определен никакой шаблон.

Что ж, есть и другой способ. И, пожалуй, лучший.
Вам стоит взглянуть на параметры register_post_type
. Вероятно, вам нужно установить их следующим образом:
'public' => false, // тип записи не публичный, у него не должно быть собственного ЧПУ и т.д.
'publicly_queryable' => true, // должна быть возможность делать запросы к этому типу
'show_ui' => true, // должна быть возможность редактировать его в wp-admin
'exclude_from_search' => true, // следует исключить из результатов поиска
'show_in_nav_menus' => false, // не должен отображаться в меню
'has_archive' => false, // у него не должно быть страницы архива
'rewrite' => false, // не должен иметь правил перезаписи URL
Если тип записи не публичный, то вы не увидите эту часть редактора.

Проверяя ответ от Krzysiek Dróżdż, можно ли это применить к пользовательским таксономиям? P.S.: Извините за публикацию здесь, у меня недостаточно репутации, чтобы оставить простой комментарий

Вы также можете скрыть эту область, разместив небольшой JavaScript-код в хуке admin_footer
.
<?php
add_action('admin_footer', function() {
global $post_type;
if ($post_type == 'your_custom_post_type') {
echo '<script> document.getElementById("edit-slug-box").outerHTML = ""; </script>';
}
});

Один из быстрых способов — просто скрыть div-контейнер с помощью CSS.
add_action('admin_head', 'wpds_custom_admin_post_css');
function wpds_custom_admin_post_css() {
global $post_type;
if ($post_type == 'post_type') {
echo "<style>#edit-slug-box {display:none;}</style>";
}
}

Я рассматриваю этот фильтр, чтобы добиться похожего результата:
https://developer.wordpress.org/reference/functions/get_sample_permalink_html/
Возвращает HTML редактора постоянной ссылки (slug) для примера.
Он выглядит эффективным. Насколько я могу судить, доступен начиная с WordPress 2.9.0 и выше.
Пример кода:
add_filter('get_sample_permalink_html', 'my_sample_permalink_html', 10, 5);
function my_sample_permalink_html($html, $post_id, $new_title, $new_slug, $post) {
return '<p>Пользовательский HTML для замены редактора постоянной ссылки.</p>';
}
