Sí. Cuando registre su tipo de publicación, debe establecer show_in_menu
en la página en la que desea que se muestre.
Agregar un tipo de publicación personalizada como un submenú de Publicaciones
Aquí configuramos el tipo de publicación "películas" para que se incluya en el submenú debajo de Publicaciones.
register_post_type( 'movies',
array(
'labels' => array(
'name' => __( 'Movies' ),
'singular_name' => __( 'Movie' )
),
'public' => true,
'has_archive' => true,
'show_in_menu' => 'edit.php'
)
);
Si tienes una taxonomía registrada para el tipo de publicación personalizada, también será necesario agregarla a la página.
En add_submenu_page()
el primer argumento es la página a la que se lo asigna y la última es la barra del menú.
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');
}
Agregar un tipo de publicación personalizada como un submenú de otro tipo de publicación personalizada
Para agregar las páginas a otro tipo de publicación personalizada, incluya el parámetro de cadena de consulta del tipo de publicación junto con los nombres de las páginas.
Para agregar las Películas de CPT y su género de taxonomía en el tipo de publicación Entretenimiento, ajuste el código de esta manera.
edit.php
se convierte en edit.php?post_type=entertainment
edit-tags.php
se convierte en 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');
}