Oui. Lorsque vous enregistrez votre type de publication, vous devez définir show_in_menu
la page sur laquelle vous souhaitez qu'il s'affiche.
Ajout d'un type de publication personnalisé en tant que sous-menu de publications
Ici, nous définissons le type de publication "films" à inclure dans le sous-menu sous Publications.
register_post_type( 'movies',
array(
'labels' => array(
'name' => __( 'Movies' ),
'singular_name' => __( 'Movie' )
),
'public' => true,
'has_archive' => true,
'show_in_menu' => 'edit.php'
)
);
Si vous avez une taxonomie enregistrée pour le type de publication personnalisé, elle devra également être ajoutée à la page.
Dans add_submenu_page()
le premier argument se trouve la page à laquelle l'affecter et le dernier est le slug du menu.
add_action('admin_menu', 'my_admin_menu');
function my_admin_menu() {
add_submenu_page('edit.php', 'Genre', 'Genre', 'manage_options', 'edit-tags.php?taxonomy=genre');
}
Ajout d'un type de publication personnalisé en tant que sous-menu d'un autre type de publication personnalisé
Pour ajouter les pages à un autre type de publication personnalisé, incluez le paramètre de chaîne de requête du type de publication ainsi que les noms de page.
Pour ajouter les films CPT et son genre de taxonomie sous le type de publication Divertissement, ajustez le code comme ceci.
edit.php
devient edit.php?post_type=entertainment
edit-tags.php
devient edit-tags.php?taxonomy=genre&post_type=entertainment
register_post_type( 'movies',
array(
'labels' => array(
'name' => __( 'Movies' ),
'singular_name' => __( 'Movie' )
),
'public' => true,
'has_archive' => true,
'show_in_menu' => 'edit.php?post_type=entertainment'
)
);
add_action('admin_menu', 'my_admin_menu');
function my_admin_menu() {
add_submenu_page('edit.php?post_type=entertainment', 'Genre', 'Genre', 'manage_options', 'edit-tags.php?taxonomy=genre&post_type=entertainment');
}
show_in_menu
attribut, n'a pas fonctionné pour moi.Notre type de message personnalisé:
Ajoutez-le pour le type de publication personnalisé existant ("produit" par exemple):
Ou ajoutez pour notre menu de plugin personnalisé:
la source