Cómo organizar mejor los menús de tipos de contenido personalizados programáticamente

25 oct 2012, 20:13:01
Vistas: 905
Votos: 3

Un proyecto que heredé tenía una docena de tipos de contenido personalizados. El problema es que todos aparecen como elementos separados en el menú lateral del administrador. No es muy ordenado. ¿Existe algún plugin que me permita convertirlos en subelementos de un menú principal, o hay alguna forma, programáticamente, de editar el functions.php de mi tema para organizarlos como submenús?

0
Todas las respuestas a la pregunta 1
3

En la función para registrar un nuevo tipo de publicación personalizada, ¿puedes establecer este CPT como submenú de un elemento de menú existente? Usa el parámetro show_in_menu

Un ejemplo:

register_post_type( 
    'issue', 
    apply_filters( 'wpit_register_issue_post_type', 
        array(
            'labels'          => $issue_labels,
            'rewrite'         => $issue_rewrite,
            'supports'        => $issue_supports,
            'taxonomies'      => $issue_taxonomies,
            'menu_position'   => 5,
            'public'          => TRUE,
            'show_ui'         => TRUE,
            'show_in_menu'    => 'edit.php', // Mostrar como submenú bajo el elemento "Entradas"
            'can_export'      => TRUE,
            'capability_type' => 'post',
            'query_var'       => TRUE
        )
    ) 
);

Puedes encontrar la cadena para los elementos al pasar el mouse, como upload.php en el elemento Medios.

25 oct 2012 20:54:32
Comentarios

Usé este práctico generador para crear un Tipo de Entrada Personalizado, y luego instalé el plugin gratuito Admin Menu Editor y creé un menú personalizado llamado "Gestión" con el slug/hook como "mgmt". Luego, todo lo que tuve que hacer en mi código generado automáticamente del tipo de entrada personalizado fue agregar la línea 'show_in_menu' => 'mgmt', y efectivamente ¡funciona! ¡Muchas gracias!

Volomike Volomike
25 oct 2012 21:09:04

Bienvenido. Para cada trabajo dale un generador ;)

bueltge bueltge
25 oct 2012 21:32:58

Sí, no siempre puedo confiar en que los generadores estén en la web, así que necesito construir mi propio script PHP que replique esto. Además, es bastante fácil usar la función add_menu_page() para crear el menú "Gestión" en lugar de usar Admin Menu Editor.

Volomike Volomike
26 oct 2012 00:35:26