web-dev-qa-db-ja.com

wp_logout_urlは、ページ区切りのために誤ったページにリダイレクトします

Wordpress Pagination チュートリアルに従って、wp_logout_url( get_permalink() );は正しいページにリダイレクトしなくなりました。 domain.com/page/2/と言うようにリダイレクトする代わりに、それは私をリストされたカテゴリの投稿の一つにリダイレクトします。

これを修正する方法はありますか?

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

明確ではありませんが、ユーザーを現在のページに戻す「ログアウト」URLが必要だと思いますか。

get_permalink() しかし、ループ内の現在の投稿のパーマリンクを取得する(使用している場合)ループの外では、ログアウトした後、ループ内で最後の投稿に移動することになります)。

現在表示しているページのURLを取得するには、$_SERVER['REQUEST_URI'];を使用できます(これを行うWordPress関数がある場合は、 add_query_arg() を除く知りたいのですが…)

だから試してみてください。

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