¿Adjuntar un menú de navegación a la barra de administración?

4

He visto varias soluciones sobre cómo adjuntar enlaces manualmente a la nueva barra de administración de WP, pero necesito hacer esto mucho más fácil para los administradores de mi sitio.

Se me ocurrió que la solución más sencilla sería crear un menú de navegación personalizado y luego tener ese menú 'adjunto' a la barra de administración. De esta manera, el administrador del sitio podría agregar fácilmente nuevos enlaces a la barra de administración simplemente agregando páginas al menú personalizado.

La idea principal es colocar un menú desplegable que muestre las páginas del menú directamente en el lado derecho de la barra de administración.

    
pregunta shawn 20.04.2011 - 07:31

1 respuesta

4

¡Resulta ser muy fácil! No es necesario un caminante especial, wp_get_nav_menu_items() devuelve todo lo que necesita. Este ejemplo agrega un solo elemento del menú raíz y luego el menú, puede hacerlo de manera diferente si lo desea. Asigna todas las funciones de menú adicionales que pude encontrar en el código, no sé si puede configurarlas todas en la interfaz de usuario del menú.

add_action( 'admin_bar_menu', 'wpse15186_admin_bar_menu' );
function wpse15186_admin_bar_menu( &$wp_admin_bar )
{
    $menu = wp_get_nav_menu_object( 'WPSE 15186 test menu' );
    $menu_items = wp_get_nav_menu_items( $menu->term_id );

    $wp_admin_bar->add_menu( array(
        'id' => 'wpse15186-menu-0',
        'title' => 'WPSE 15186 menu',
    ) );

    foreach ( $menu_items as $menu_item ) {
        $wp_admin_bar->add_menu( array(
            'id' => 'wpse15186-menu-' . $menu_item->ID,
            'parent' => 'wpse15186-menu-' . $menu_item->menu_item_parent,
            'title' => $menu_item->title,
            'href' => $menu_item->url,
            'meta' => array(
                'title' => $menu_item->attr_title,
                'target' => $menu_item->target,
                'class' => implode( ' ', $menu_item->classes ),
            ),
        ) );
    }
}
    
respondido por el Jan Fabry 20.04.2011 - 11:09

Lea otras preguntas en las etiquetas