domingo, 18 de enero de 2015

WordPress - Agregar elementos al menu


Como todos sabemos en WordPress tenemos un maravilloso gestor, desde el que podemos editar nuestros menús, lo normal es que introduzcamos enlaces a nuestras mismas paginas, nuestras entradas, categorías, etiquetas, etc; lo cual podemos hacer con un par de simples clicks, pero en ocasiones puede que necesitemos agregar un texto estático, o justo todo lo contrario, algo que se genere automáticamente desde la base de datos, por ejemplo el ultimo Post publicado.

Esto se puede hacer de una manera muy sencilla, en nuestro  functions.php agregaremos una función cualquiera, que nos genere el menú,

function my_custom_nav_wrap() { $wrap = '<ul id="%1$s" class="%2$s">'; $wrap .= '%3$s'; $wrap .= '<li>'; $wrap .= 'Nuestro Elemento estático'; $wrap .= '</li>'; $wrap .= '</ul>'; return $wrap;}
Así con la función de arriba se creara nuestro menú con todos los elementos que introduzcamos desde el editor, además de uno estático al final.
Para que esto funcione, en nuestra template, deberemos llamar a nuestro menú
<nav> <?php wp_nav_menu(array( 'menu' => 'Mi Menu', 'items_wrap' => my_custom_nav_wrap() )); ?></nav>
Y listo, no necesitamos mas, si en lugar de un elemento estático necesitamos sacar algo de nuestra base de datos solo es necesario cambiar el literal de Nuestro Elemento estático, por una función que obtenga el contenido que deseamos, o incluirlo allí mismo mediante etiquetas <?php ?>

Idea de: galengidman