En ocasiones requerimos incluir un menú dentro de una entrada, pero no podemos incluir el código php directamente en la entrada para lograr esto debemos utilizar shortcode.
Como hacerlo?
Primero creamos la siguiente función dentro del archivo functions.php:
Plantillas para wordpress:
// Function que devuelve un menú function list_menu($atts, $content = null) { extract(shortcode_atts(array( 'menu' => '', 'container' => 'div', 'container_class' => '', 'container_id' => '', 'menu_class' => 'menu', 'menu_id' => '', 'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'depth' => 0, 'walker' => '', 'theme_location' => ''), $atts)); return wp_nav_menu( array( 'menu' => $menu, 'container' => $container, 'container_class' => $container_class, 'container_id' => $container_id, 'menu_class' => $menu_class, 'menu_id' => $menu_id, 'echo' => false, 'fallback_cb' => $fallback_cb, 'before' => $before, 'after' => $after, 'link_before' => $link_before, 'link_after' => $link_after, 'depth' => $depth, 'walker' => $walker, 'theme_location' => $theme_location)); } //Crea el shortcode add_shortcode("listmenu", "list_menu");
Para utilizar el código dentro de un post simplemente agregamos lo siguiente: [listmenu menu=nombredelmenu]. Podemos adicionar las demás caracteríticas de wp_nav_menu que ya conocemos: [listmenu menu=nombredelmenu menu_class=cssclass].
Podemos crear infinidad de usos para esta función, como la creación de un mapa de sitio en una entrada, crear submenú que se visualicen dentro de ciertos lugares de nuestro sitio.
Plantillas para wordpress:
Les presento una excelente opción de personalizar nuestro sitio, con plantillas listas para utilizar y con un diseño que le darán un gran toque a nuestro sitio.
Funciona genial, recomendable 100% por lo menos para mi.
ResponderEliminarMuchas gracias
Muy bueno!!! mi unica duda, cómo le das el menu_class ???
ResponderEliminarFunciona muy bien, Muchas gracias
ResponderEliminar