Cómo mostrar diferentes menús a usuarios registrados en WordPress

Al ejecutar un sitio de membresía de WordPress, un foro en WordPress o permitir que los usuarios publiquen publicaciones, puede haber situaciones en las que desee mostrar diferentes menús de navegación a los usuarios que inician y cierran sesión. Por ejemplo, es posible que desee mostrar a los usuarios registrados un enlace a su perfil y un enlace para iniciar sesión o registrarse para los usuarios que no lo están. En este artículo, le mostraremos cómo mostrar diferentes menús a los usuarios que han iniciado sesión en WordPress.

Creando múltiples menús en WordPress

En WordPress, incluso si su tema tiene una posición de menú, aún puede crear varios menús para la misma posición.

Ir Apariencia »Menú, crea dos menús conectados y desconectados.

Después de crear los menús, agregue este código a su tema functions.php archivo o plugin específico del sitio:

function my_wp_nav_menu_args( $args="" ) {

if( is_user_logged_in() ) { 
	$args['menu'] = 'logged-in';
} else { 
	$args['menu'] = 'logged-out';
} 
	return $args;
}
add_filter( 'wp_nav_menu_args', 'my_wp_nav_menu_args' );

Esto es todo lo que verá, los visitantes que hayan iniciado sesión verán el menú de inicio de sesión y los usuarios no registrados o desconectados verán un menú diferente.

Este método le permite crear dos menús diferentes para sus usuarios, de modo que pueda actualizar libremente sus menús para usuarios registrados o desconectados. Hay otras formas de hacer lo mismo. Por ejemplo, si solo desea agregar enlaces de inicio de sesión y cierre de sesión a su menú de navegación, debe agregar elementos de menú personalizados en su menú de navegación de WordPress.

Esperamos que este artículo le haya ayudado a mostrar diferentes menús a los usuarios que han iniciado sesión en su sitio de WordPress. Para preguntas y comentarios, deje un comentario a continuación.

¿Te ha resultado útil??

0 / 0

Deja una respuesta 0

Tu dirección de correo electrónico no será publicado. Required fields are marked *