Saltar al contenido

Wordpress - ¿Es posible agregar un menú de tipo de publicación personalizada como otro submenú de tipo de publicación personalizada?

Solución:

Si. Cuando registre su tipo de publicación, debe configurar show_in_menu a la página en la que le gustaría 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ú 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 tiene una taxonomía registrada para el tipo de publicación personalizada, también deberá agregarla a la página.

En add_submenu_page() el primer argumento es la página a la que asignarlo y el último es el menú slug.

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 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 CPT y su taxonomía Género bajo 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'); 
}

Nuestro tipo de publicación personalizada:

$args['show_in_menu'] = false;
register_post_type('custom_plugin_post_type', $args);

Agréguelo para el tipo de publicación personalizada existente ("producto", por ejemplo):

$existing_CPT_menu = 'edit.php?post_type=product';
$link_our_new_CPT = 'edit.php?post_type=custom_plugin_post_type';
add_submenu_page($existign_CPT_menu, 'SubmenuTitle', 'SubmenuTitle', 'manage_options', $link_our_new_CPT);

O agregue para nuestro menú de complementos personalizados:

// Create plugin menu
add_menu_page('MyPlugin', 'MyPlugin', 'manage_options', 'myPluginSlug', 'callback_render_plugin_menu');

// Create submenu with href to view custom_plugin_post_type
$link_our_new_CPT = 'edit.php?post_type=custom_plugin_post_type';
add_submenu_page('myPluginSlug', 'SubmenuTitle', 'SubmenuTitle', 'manage_options', $link_our_new_CPT);
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.