J'ai créé un type de message personnalisé 'hôtel' et une 'taxonomie' personnalisée. Ainsi, lorsque l'administrateur crée un nouvel hôtel et l'enregistre, sa taxonomie personnalisée est automatiquement créée, mais je ne souhaite pas afficher de métabox personnalisé dans la page d'édition de l'hôtel côté administrateur afin pour cela j'ai utilisé la fonction WordPress mais rien ne se passe.
$Hotel_labels = array(
'name' => _x('Hotels', 'post type general name'),
'singular_name' => _x('Hotel', 'post type singular name'),
'add_new' => _x('Add New', 'Hotel'),
'add_new_item' => __('Add Hotel'),
'edit_item' => __('Edit Hotel'),
'new_item' => __('New Hotel'),
'all_items' => __('All Hotels'),
'view_item' => __('View Hotel'),
'search_items' => __('Search Hotel'),
'not_found' => __('No Hotel found'),
'not_found_in_trash' => __('No Hotel found in Trash'),
'parent_item_colon' => '',
'menu_name' => __('Hotel'),
);
register_post_type('Hotel',$Hotel_args);
$Package_labels = array(
'name' => _x( 'Package Hotels', 'taxonomy general name' ),
'singular_name' => _x( 'hotel', 'taxonomy singular name' ),
'search_items' => __( 'Search hotels' ),
'popular_items' => __( 'Popular hotels' ),
'all_items' => __( 'All hotels' ),
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => __( 'Edit hotel' ),
'update_item' => __( 'Update hotel' ),
'add_new_item' => __( 'Add New hotel' ),
'new_item_name' => __( 'New hotel Name' ),
'separate_items_with_commas' => __( 'Separate hotels with commas' ),
'add_or_remove_items' => __( 'Add or remove hotels' ),
'choose_from_most_used' => __( 'Choose from the most used hotels' ),
'menu_name' => __( 'Package Hotels' ),
);
register_taxonomy('package_hotel','package',array(
'hierarchical' => false,
'labels' => $Package_labels,
'show_ui' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'show_in_nav_menus' => false,
'rewrite' => array( 'slug' => 'hotels' ),
));
function my_remove_meta_boxes() {
remove_meta_box('tagsdiv_hotels', 'Hotel', 'side');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );
Changez votre paramètre d'enregistrement de taxonomie show_ui
en false
...
register_taxonomy('package_hotel','package',array(
'hierarchical' => false,
'labels' => $Package_labels,
'show_ui' => false,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'show_in_nav_menus' => false,
'rewrite' => array( 'slug' => 'hotels' ),
));
changer votre identifiant metabox "tagsdiv_hotels" package_hotel "
function my_remove_meta_boxes() {
remove_meta_box('package_hotel', 'Hotel', 'side');
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );