Cómo obtener un menú móvil diferente al menú de escritorio en el tema hijo twentytwelve
Me gustaría usar un menú diferente para mi sitio web móvil que para mi sitio web de escritorio. Con diferente me refiero al contenido, no al diseño. Solo quiero usar el menú móvil del tema twentytwelve.
Lo que he hecho hasta ahora:
En el archivo functions.php de mi tema hijo he agregado el siguiente código:
register_nav_menus( array(
'primary' => __( 'Primary Navigation', 'twentytwelve' ),
'mobile' => __( 'Mobile Navigation', 'mobile'),
) );
Ahora puedo crear dos menús en mi panel de control. (panel de control>menú>ubicaciones)
En el header.php no sé exactamente qué cambiar para que se cargue mi menú móvil en lugar de mi menú principal.
<nav id="site-navigation" class="main-navigation" role="navigation">
<button class="menu-toggle"><?php _e( 'Menu', 'twentytwelve' ); ?></button>
<a class="assistive-text" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentytwelve' ); ?>"><?php _e( 'Skip to content', 'twentytwelve' ); ?></a>
<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
</nav><!-- #site-navigation -->
He intentado cambiar el <?php _e( 'Menu', 'twentytwelve' ); ?>
a <?php _e( 'Menu', 'mobile' ); ?>
, pero esto no cambió el contenido del menú a mi menú móvil.
No estoy muy familiarizado con este código, así que espero que alguien pueda orientarme en la dirección correcta.
¡Gracias por tu ayuda!

Como se recomienda en una publicación similar: https://wordpress.stackexchange.com/a/156494/74343
1.) Crea los menús como desees y nómbralos como prefieras, por ejemplo "menú-móvil" y "menú-escritorio".
2.) En tu tema hijo, en el archivo header.php, puedes cambiar según la condición wp_is_mobile() de la siguiente manera:
if ( wp_is_mobile() ) {
wp_nav_menu( array( 'menu' => 'menú-móvil' ) );
} else {
wp_nav_menu( array( 'menu' => 'menú-escritorio' ) );
}
Sin embargo, yo utilicé el plugin "WP Responsive Menu", que me permitió seleccionar un menú para móviles también. En la configuración de "WP Responsive Menu" hay que seleccionar el elemento que NO se debe mostrar en móviles, que en el caso del tema Twenty Twelve es: "#site-navigation".
¡Feliz codificación!

Si alguien todavía sigue este hilo, he estado luchando con esto por un tiempo, nada de esto funcionó... ¡Pude hacerlo con CSS!
Básicamente, crea un menú gigante con todos los elementos que quieras en móvil y escritorio. Luego, añade las clases: "hide-mobile" y "hide-desktop" en sus respectivos elementos del menú.
Usa este CSS:
@media (min-width: 980px){
.hide-desktop{
display: none !important;
}
}
@media (max-width: 980px){
.hide-mobile{
display: none !important;
}
}

Además del comentario de Jordan, es importante saber cómo añadir una clase a un elemento del menú en WordPress:
Para agregar clases CSS a un menú de WordPress, primero ve a Apariencia > Menús en tu tema de WordPress. A continuación, encuentra la pestaña "Opciones de pantalla" en la parte superior derecha de la pantalla. Haz clic para abrir el panel y marca la casilla etiquetada como "Clases CSS". Selecciona el menú que deseas editar y haz clic en el enlace al que quieras añadir una clase CSS.

Otro enfoque que no implica sobrescribir archivos/plantillas del tema:
En el archivo functions.php
del tema hijo agrega:
/**
* Registra la ubicación del menú 'mobile' en WordPress para que pueda configurarse en la interfaz de administración.
*/
register_nav_menus( array(
'mobile' => 'Reemplazo Móvil del Menú Principal',
) );
/**
* Al construir menús, si se está usando la ubicación 'primary' y estamos en móvil,
* la reemplazamos por la ubicación 'mobile'.
*
* @see wp_nav_menu()
*/
add_filter( 'wp_nav_menu_args', function( $args ) {
if( 'primary' === $args['theme_location'] && wp_is_mobile() ) {
$args['theme_location'] = 'mobile';
}
return $args;
} );
Luego configura tu menú móvil en wp-admin
/ Apariencia
/ Menús
.
