Este es mi primer proyecto con WordPress y me he quedado atascado intentando crear un andador personalizado para un menú de pie de página.
Básicamente quiero cambiar el menú de la <ul> <li></li> </ul>
estructura a una <p> <span></span> </p>
estructura.
El menú y otras cosas muestran el archivo y he podido ajustar las funciones start_el
y end_el
sin problemas, así que ahora obtengo esto:
<ul> <span>*link*</span> <span>*link*</span> </ul>
Lo que obviamente está a mitad de camino, he escrito las etiquetas start_lvl()
y end_lvl()
como se muestra a continuación, pero WordPress las ignora: no die()
se ejecuta nada (incluso ) (lo cual es un poco sospechoso) pero sé que se está llamando a la clase debido a La start_el()
función.
function start_lvl(&$output, $depth = 0, $args = array()) {
$output = "\n<p class=\"sub-menu\">\n";
}
function end_lvl(&$output, $depth = 0, $args = array()) {
$output .= "\n</p>\n";
}
¿Alguien sabe por qué sucede esto? ¿Me he perdido algo realmente obvio?
Estoy ejecutando la última versión de WordPress en Apache con PHP 5.3.6
si me ayuda.
Gracias por adelantado,
Felix :)
Respuestas:
Su clase my_extended_walker está bien, pero cuando llame a la función wp_nav_menu use el parámetro items_wrap .
Start_lvl se usa para elementos secundarios.
fuente
Ok, no estoy seguro de lo que leí mal cuando publiqué esto, pero toda su clase debería ser algo como esto:
Y luego pase el 'caminante' como parámetro cuando llame
wp_nav_menu
wp_nav_menu( array( 'walker'=>new my_extended_walker() ) );
Si tienes eso, deberías estar bien. Estoy mirando el código de trabajo que hace exactamente eso. Sin
<p>
embargo , no sé si poner etiquetas allí. Puede obtener un marcado no válido.fuente
<div>
lugar de<p>
solo para ver si puedo hacer que esas funciones hagan algo, pero hasta ahora no me alegro :(<div>
y<p>
no debería romper el Walker, pero podría provocar un marcado no válido. Tienes$output =
y no$output .=
en tustart_lvl
. Eso podría estar causando problemas. ¿Es ese el Walker completo que publicaste?.=
bit que ahora es la clase completa (start_lvl()
end_lvl()
¿Ha pensado en buscar todos los elementos del menú de navegación utilizando la función incorporada:
wp_get_nav_menu_items();
y generar manualmente el contenido?Ejemplo :: Crear una lista de menú simple
fuente