Tutorial: Agregar botones de inicio y cierre de sesion en menu

  • Autor Autor Voldemorth
  • Fecha de inicio Fecha de inicio
Voldemorth

Voldemorth

No recomendado
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Esta es en realidada la respuesta que di en una comunidad de wordrpess donde consultaban como agregar botones de log in y log out en un menu.

Si queremos agregar un link con para log out podemos hacerlo con un anchor que en su href tenga este codigo:

PHP:
href='<?php echo wp_logout_url( $redirect ); ?> '

Donde $redirect contiene la ruta donde se enviara al usuario luego del log out.

En el caso de el log in es algo parecido solo que en el href pondremos

PHP:
<?php site_url("wp-login.php");  ?>

De mas esta decir que dichos enlaces se podrían alternar por medio de un if evaluando si el usuario esta o no logeado mostrando el indicado en cada caso.

Por otra parte para agregar estas opciones en un menu podemos agregar este codigo en el functions.php de nuestro theme:

PHP:
add_filter( 'wp_nav_menu_items', 'add_loginout_link', 10, 2 );
function add_loginout_link( $items, $args ) {
 if (is_user_logged_in() && $args->theme_location == 'primary') {
 $items .= '<li><a href="'. wp_logout_url() .'">Log Out</a></li>';
 }
 elseif (!is_user_logged_in() && $args->theme_location == 'primary') {
 $items .= '<li><a href="'. site_url('wp-login.php') .'">Log In</a></li>';
 }
 return $items;
}

Teniendo en cuenta que en $args->theme_location == 'primary' se define donde se agregan los items, "primary" es el id del menu y lo pueden cambiar por el que mas les convenga según su theme. Y de mas estad ecir que en el caso de <a href="'. wp_logout_url() .'">Log Out</a> el parametro $redirect que vimos antes es totalmente valido para redirigir al usuario luego de que hace el log out.

Sepan que esta función ya contempla el alternar el boton de log in y de log out segun si el usuario esta o no logeado.
 
Muy bueno, me sirve para un proyecto, gracias por el aporte :encouragement:.
 
muy buen aporte amigo lo tendre muy en cuenta. 🙂
 
Gracias buen aporte 🙂
 
Gracias lo pondre en practica con un sitio que tengo
 
Atrás
Arriba