Descubre en este tutorial cómo mostrar un menú distinto dependiendo de si el usuario está logueado o no en WordPress, mediante código.
Poder mostrar u ocultar elementos del menú dependiendo del estado del usuario es muy práctico, especialmente para webs de membresía.
De hecho, si accedes a Código Genesis sin haberte identificado verás un menú:
Y cuando has accedido con tu cuenta verás otro:
En un tutorial anterior te expliqué cómo puedes conseguirlo usando el mismo menú y un poco de CSS.
En este caso te voy a explicar cómo cargar distintos menús, lo cual es mucho más adecuado si el menú entre logueados y no logueados es muy diferente.
Vamos allá:
Snippet para mostrar un menú distinto a usuarios identificados en WordPress
Antes de nada, debes crear dos menús, uno que sea el que quieres mostrar a los usuarios logueados, y otro a los no logueados.
Una vez lo tengas, añade el siguiente snippet al fichero functions.php de tu tema:
Para ver este código y los otros 2063 snippets de esta web,
identifícate o suscríbete aquí.
En este fragmento usas el filtro wp_nav_menu_args
en combinación con la etiqueta condicional is_user_logged_in
para mostrar un menú u otro dependiendo de si el usuario está dentro de su cuenta o no.
En este caso, los menús se llaman «Usuario logueado» y «Usuario no logueado» pero si quieres puedes utilizar otra nomenclatura. Si lo haces solo tendrás que sustituirlo en el snippet.
El código sirve tanto para child themes de Genesis como otros temas de WordPress.
Conclusiones
Ya ves qué fácil es cargar un menú específico dependiendo de si el usuario se ha identificado o no en WordPress.
Si tienes alguna duda te leo en los comentarios. Y si quieres dejarme una sugerencia para futuros tutoriales, envíamela a través del formulario de contacto.
Todo ventajas de ser suscriptor. 😉