web-dev-qa-db-fra.com

wp_logout_url redirige vers une page incorrecte en raison d'une pagination

Après un tutoriel Wordpress Pagination , wp_logout_url( get_permalink() ); ne redirige plus vers la bonne page. Au lieu de renvoyer domain.com/page/2/, il me redirige vers l’un des messages de la catégorie indiquée.

Y'a t'il un moyen d'arranger cela?

global $wp_query;  

$total_pages = $wp_query->max_num_pages;  

if ($total_pages > 1){  

  $current_page = max(1, get_query_var('paged'));  

  echo '<div class="page_nav">';  

  echo paginate_links(array(  
      'base' => get_pagenum_link(1) . '%_%',  
      'format' => 'page/%#%',  
      'current' => $current_page,  
      'total' => $total_pages,  
      'prev_text' => 'Prev',  
      'next_text' => 'Next'  
    ));  

  echo '</div>';  

}  
1
gavsiu

Ce n'est pas clair, mais je suppose que vous voulez une URL de "déconnexion", qui ramène l'utilisateur à la page actuelle?

get_permalink() Cependant, obtenez le permalien de la publication courante dans la boucle (si vous l'utilisez en dehors de la boucle, vous constaterez que cela conduit l'utilisateur à la dernière publication de la boucle après sa déconnexion).

Pour obtenir l'URL de la page sur laquelle vous vous trouvez, vous pouvez utiliser $_SERVER['REQUEST_URI']; (s'il existe une fonction WordPress qui le fait, en plus d'utiliser add_query_arg() J'aimerais le savoir ...)

Alors essayez:

 wp_logout_url( $_SERVER['REQUEST_URI'] );
2
Stephen Harris