Saltar al contenido

Wordpress: ¿es posible agregar un menú de tipo de publicación personalizado como otro submenú de tipo de publicación personalizado?

La guía o código que hallarás en este post es la resolución más sencilla y efectiva que hallamos a tu duda o dilema.

Solución:

Sí. Cuando registra 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ú en 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 en 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 slug 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 la consulta del tipo de publicación string parámetro junto con los nombres de página.

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 edit.php?post_type=entertainment

edit-tags.php se convierte 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 complemento personalizado:

// 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);

Sección de Reseñas y Valoraciones

Ten en cuenta recomendar esta noticia si te ayudó.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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