eliminar el enlace permanente del tipo de entrada personalizada
He registrado un tipo de entrada con lo siguiente --
$holidayLabels = array(
'name' => __( 'Festivos'),
'singular_name' => __( 'Festivos'),
'all_items' => __( 'Todos los Festivos'),
'add_new' => __( 'Añadir Nuevo Festivo'),
'add_new_item' => __( 'Añadir Nuevo Festivo'),
'edit_item' => __( 'Editar Festivo'),
'new_item' => __( 'Nuevo Festivo'),
'view_item' => __( 'Ver Festivos'),
'not_found' => __( 'No se encontraron Festivos'),
'not_found_in_trash' => __( 'No se encontraron Festivos en la Papelera'),
'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);
Y quiero eliminar el enlace permanente que aparece debajo del título cuando publico un nuevo festivo o empiezo a editar uno existente.
Quiero eliminar esto porque los festivos se mostrarán en un widget separado. No quiero que el administrador pueda verlo como una entrada individual de ninguna manera. No hay plantilla definida para esto.

Bueno, hay otra manera. Y mejor, supongo.
Deberías revisar los parámetros de register_post_type
. Probablemente deberías configurarlos así:
'public' => false, // no es público, no debería tener su propio enlace permanente, etc.
'publicly_queryable' => true, // deberías poder consultarlo
'show_ui' => true, // deberías poder editarlo en wp-admin
'exclude_from_search' => true, // deberías excluirlo de los resultados de búsqueda
'show_in_nav_menus' => false, // no deberías poder agregarlo a los menús
'has_archive' => false, // no debería tener página de archivo
'rewrite' => false, // no debería tener reglas de reescritura
Si el tipo de entrada no es público, entonces no verás esta parte del editor.

Verificando la respuesta proporcionada por Krzysiek Dróżdż, ¿esto se puede aplicar a taxonomías personalizadas? PD: Perdón por publicar esto aquí, no tengo suficiente reputación para hacer un simple comentario

También puedes ocultar esta área colocando un pequeño código JavaScript en el hook 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>';
}
});

Bueno, una forma rápida sería simplemente ocultar el div contenedor usando 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>";
}
}

Estoy viendo este filtro para lograr algo similar:
https://developer.wordpress.org/reference/functions/get_sample_permalink_html/
Devuelve el HTML del editor de slug de enlace permanente de muestra.
Parece efectivo. Está disponible desde lo que puedo ver desde WordPress 2.9.0 en adelante.
Código de ejemplo:
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 personalizado para reemplazar el editor de enlace permanente.</p>';
}
