elimină permalink-ul tipului de postare personalizat
Am înregistrat tipul de postare cu următoarele --
$holidayLabels = array(
'name' => __( 'Sărbători'),
'singular_name' => __( 'Sărbători'),
'all_items' => __( 'Toate Sărbătorile'),
'add_new' => __( 'Adaugă Sărbătoare Nouă'),
'add_new_item' => __( 'Adaugă Sărbătoare Nouă'),
'edit_item' => __( 'Editează Sărbătoarea'),
'new_item' => __( 'Sărbătoare Nouă'),
'view_item' => __( 'Vezi Sărbătorile'),
'not_found' => __( 'Nu s-au găsit Sărbători'),
'not_found_in_trash' => __( 'Nu s-au găsit Sărbători în Coș'),
'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);
Și vreau să elimin permalink-ul care apare sub titlu când postez o sărbătoare nouă sau încep să editez una existentă.
Vreau să elimin acest permalink deoarece sărbătorile vor fi afișate într-un widget separat. Nu vreau ca administratorul să poată vedea postarea individual în niciun fel. Nu există niciun șablon definit pentru așa ceva.

Ei bine, există o altă metodă. Și mai bună, cred.
Ar trebui să te uiți la parametrii funcției register_post_type
. Probabil că ar trebui să le setezi astfel:
'public' => false, // nu este public, nu ar trebui să aibă propriul permalink și așa mai departe
'publicly_queryable' => true, // ar trebui să poți să interoghezi acest tip de postare
'show_ui' => true, // ar trebui să poți să-l editezi în wp-admin
'exclude_from_search' => true, // ar trebui exclus din rezultatele căutării
'show_in_nav_menus' => false, // nu ar trebui să poți să-l adaugi în meniuri
'has_archive' => false, // nu ar trebui să aibă o pagină de arhivă
'rewrite' => false, // nu ar trebui să aibă reguli de rescriere
Dacă tipul de postare nu este public, atunci nu vei vedea această parte a editorului.

Verificând răspunsul dat de Krzysiek Dróżdż, acest lucru poate fi aplicat și taxonomiilor personalizate? PD: Îmi pare rău că postez aici, nu am suficiente puncte de reputație pentru a lăsa un simplu comentariu

De asemenea, puteți ascunde această zonă plasând un mic cod JavaScript în hook-ul 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>';
}
});

Ei bine, o metodă rapidă ar fi să ascundem div-ul container folosind 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>";
}
}

Mă uit la acest filtru pentru a realiza ceva similar:
https://developer.wordpress.org/reference/functions/get_sample_permalink_html/
Returnează HTML-ul editorului de slug pentru permalink demonstrativ.
Pare a fi eficient. Este disponibil din câte văd începând cu WordPress 2.9.0.
Cod exemplu:
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 personalizat pentru a înlocui editorul de permalink.</p>';
}
