web-dev-qa-db-fra.com

comment se déconnecter rediriger vers l'URL actuelle

J'utilise le menu personnalisé pour login/logout ci-dessous est mon code:

<?php
   if(is_user_logged_in()) {
      $user = wp_get_current_user();
      echo 'Welcome <strong><a href="http://gopalbonline.com/kolkataonwheels/wp-admin/index.php" >'.$user->user_firstname.'</a></strong>
  | <a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="Logout">Logout</a>';
   } else { ?>
      <strong><?php wp_loginout(); ?></strong>
      or <a href="<?php bloginfo('url') ?>/wp-login.php?action=register">     <strong>Register</strong></a>
<?php } ?>

mais le problème est:

  1. redirection vers page 404 page non en cours ...
  2. Je veux ajouter l'utilisateur gavatar s'il/elle s'est connecté

Toute aide grandement appréciée.

2

wp_loginout(get_permalink()); créera un lien hypertexte avec le texte "Déconnexion/Connexion" et, après la déconnexion, restera sur la même page ou dirigera l'utilisateur vers la page de connexion.

3
MadCom

quelque chose comme ça

function my_redirect(){
    $redirect_url = $_SERVER['HTTP_REFERER'];
    if(!empty($_REQUEST['redirect_to'])){
        wp_safe_redirect($_REQUEST['redirect_to']);
    } else {
        wp_redirect($redirect_url);
    }
    exit();
}
add_filter('wp_logout','my_redirect');
1
Gembel Intelek

Par exemple:

<a href="<?php echo wp_logout_url( get_permalink() ); ?>" title="Logout">Logout</a>

Tout peut être fait avec les fonctions WP - aucun code personnalisé n'est requis dans ce cas.

Vous avez juste besoin de déplacer le code de function.php dans le thème et cela devrait fonctionner.

0
Martin Zeitler