Buenas tardes:
Me gustaría poner cada elemento del menú principal en dos líneas, tal como aparece en la siguiente web:
http://www.charadaimagenpersonal.es/.
Sé que en joomla se puede hacer añadiendo el símbolo | entre las dos palabras. ¿Existe alguna forma de hacerlo en wordpress?
URL del sitio: Contenido solo visible a usuarios registrados
Hola
Revisa el siguiente artículo:
http://www.wpbeginner.com/wp-themes/how-to-add-menu-descriptions-in-your-wordpress-themes/
Saludos.
Buenas tardes:
En el segundo paso ya me pierdo, ya que en mi archivo functions.php no existe información sobre los menús. ¿Lo debo poner ahí igualmente? ¿O puede que en mi plantilla esté situado en otro archivo?
Hola
Por lo que veo la solución, debido a que tu theme no lo tiene, tienes que hacerlo por código.
Tu theme debería tener un archivo functions.php , en el paso 2 lo que te dice es que pongas ese código en ese archivo, puedes ponerlo al final de todo.
El paso 3 es localicar la función en la que tu theme esta llamando al menú, en este caso si que deberías buscar en que archivo esta.
Saludos
Para realizar el paso tres, he encontrado el siguiente código:
count('menu + search')) : ?>
Hola
En ese código que envías no hay la función wp_nav_menu , tienes que buscar la función wp_nav_menu que agrega el menú en los archivos de tu theme y cambiarla tal como te indican.
Para buscar un texto en tus archivos puedes descarte los archivos de tu theme y luego usar una herramienta como notepad++ para buscar una cadena en varios archivo o un directorio, con esto localizarías en que archivo de tu theme se usa esta función y la podrías cambiar.
Saludos.
Lo más parecido que he encontrado es esto, ya que al final aparece la línea de wp_nav_menu
global $wp_registered_widgets;
$default_options = array(
'style' => '',
'icon' => '',
'badge' => '',
'display' => array('*')
);
$wp_registered_widgets['nav_menu-0'] = array(
'id' => 'nav_menu-0',
'name' => 'Main menu'
);
$this['system']->widget_options['nav_menu-0'] = $default_options;
echo '';
wp_nav_menu(array('theme_location' => 'main_menu', 'fallback_cb' => create_function('', 'wp_nav_menu(array("fallback_cb" => false));')));
echo '';
Hola Susana.
Estoy revisando las dos web's y no veo diferencias en los menús.
¿ Puedes adjuntarnos una captura con lo que quieres indicarnos ?
Puede ver la posibilidad de utilizar un plugin para el menú que se adapte a lo que buscas, por ejemplo podrías revisar:
Max Mega Menu
Un saludo
Lo que estoy haciendo es copiar el diseño de una web que tengo en joomla, porque la he migrado a Wordpress. Pero me gusta el diseño que tenía la de joomla y sólo se han migrado los contenidos. Ya he conseguido más o menos lo que quiero, excepto con el menú, ya que lo que tengo es lo os envío en la captura y lo que quiero es lo que aparece en www.charadaimagenpersonal.es
Cada elemento del menú tiene dos palabras y quiero que una aparezca arriba y otra abajo, como lo puedes ver en www.charadaimagenpersonal.es.
Tu compañero me ha enviado un enlace donde explican cómo hacerlo con código, pero me está costando encontrar el archivo donde viene el paso número 3, porque mi theme no viene igual.
Y la función que él me pedía sólo la he encontrado donde te decía en el mensaje anterior.
Hola Susana.
Ok, ahora te entiendo lo que buscas. Quieres una sub_linea en el menú.
Esto dependerá mucho del plugin que estés utilizando para el menú.
¿Puedes indicarnos que plugin utilizas?
WordPress permite añadir descripciones de elementos de menú haciendo clic en "Opciones de plantilla" y seleccionando "Descripción", en la configuración del menú ' Apariencia -> Menú '
El inconveniente de esto es que tu plantilla tiene que ser compatible con esa opción.
Otra Opción es con algo de código:
Add Description to WordPress Menu Items
Un saludo
Muchas gracias por la respuesta, y ¿sabes de alguna plantilla que lo permita?
Porque lo he intentado cambiando el código y no lo consigo. Mis conocimientos son limitados... O si puedes orientarme para poder modificar el código, te lo agradecería.
Saludos!
Hola Susana.
Vamos a probar algo, pero como te digo esto dependerá de tu plantilla.
.- Edita el archivo fuctions.php que encontraras en al carpeta de la instalación de tu plantilla ' wp-content/themes/myplantilla '
.- Añade al final del archivo lo siguiente:
function be_header_menu_desc( $item_output, $item, $depth, $args ) {
if( 'header' == $args->theme_location && ! $depth && $item->description )
$item_output = str_replace( '', '' . $item->description . '', $item_output );
return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'be_header_menu_desc', 10, 4 );
Luego como te indique en el hilo anterior añade la sublinea en la descripción.
Nota: Recuerda realizar una copia del archivo antes de cualquier modificación, solo con un copia y pega en el block de notas tendrás suficiente para dejarlo como estaba anteriormente.
Un saludo
Nada, no funciona. Ya tengo creada las descripciones de todos los items de menú y no funciona poniendo eso. Por si te ayuda, en mi archivo function.php, sólo aparece ésto:
<?php
/**
* @package Drive
* @author YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license http://www.gnu.org/licenses/gpl.html GNU/GPL
*/
// load config
require_once(dirname(__FILE__).'/config.php');
Hola Susana,
He revisado los menús de Contenido solo visible a usuarios registrados y verifico que los de esta última web, que es la de WordPress, tiene el mismo comportamiento que los de la web Joomla.
Entiendo que es el comportamiento que buscas para los submenús del menú principal ¿correcto?
Saludos
No, no tiene el mismo comportamiento. En la primera web cada elemento del menú aparece con el texto en dos líneas, y en el segundo aparece en una línea.
Ya se lo he explicado a la persona que me ha atendido anteriormente...