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_ely end_elsin 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.6si 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_menuwp_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