J'ai enregistré le type de message avec ce qui suit -
$holidayLabels = array(
'name' => __( 'Holidays'),
'singular_name' => __( 'Holidays'),
'all_items' => __( 'All Holidays'),
'add_new' => __( 'Add New Holiday'),
'add_new_item' => __( 'Add New Holiday'),
'edit_item' => __( 'Edit Holiday'),
'new_item' => __( 'New Holiday'),
'view_item' => __( 'View Holidays'),
'not_found' => __( 'No Holidays found'),
'not_found_in_trash' => __( 'No Holidays 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);
Et je veux supprimer le permalien qui apparaît sous le titre lorsque je poste un nouveau jour férié ou que je commence à modifier un jour férié existant.
Je veux supprimer cela parce que, les vacances seront affichées dans un widget séparé. De toute façon, je ne veux pas que l'administrateur puisse le voir comme un message individuel. Il n'y a pas de modèle défini pour tel.
Eh bien, il y a un autre moyen. Et mieux, je suppose.
Vous devriez regarder register_post_type
parameters. Vous devriez probablement les définir comme ceci:
'public' => false, // it's not public, it shouldn't have it's own permalink, and so on
'publicly_queryable' => true, // you should be able to query it
'show_ui' => true, // you should be able to edit it in wp-admin
'exclude_from_search' => true, // you should exclude it from search results
'show_in_nav_menus' => false, // you shouldn't be able to add it to menus
'has_archive' => false, // it shouldn't have archive page
'rewrite' => false, // it shouldn't have rewrite rules
Si le type de message n'est pas public, vous ne verrez pas cette partie de l'éditeur.
Eh bien, un moyen rapide serait simplement de cacher la div de conteneur en utilisant 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>";
}
}
Vous pouvez également masquer cette zone en plaçant un petit code JavaScript dans le crochet 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>';
}
});