Aşağıdaki kod, üye girişi yapıldıktan sonra kullanıcıları son ziyaret ettikleri sayfaya yönlendirmeye yardımcı olacaktır:
```
function wpse_131562_redirect() {
if (
! is_user_logged_in()
&& (is_woocommerce() || is_cart() || is_checkout())
) {
// redirect user to myaccount page if not logged in
wp_safe_redirect( wc_get_page_permalink( 'myaccount' ) );
exit;
}
if ( is_account_page() && ! is_user_logged_in() ) {
// keep track of last page visited before login
if ( isset( $_SERVER['HTTP_REFERER'] ) ) {
$_SESSION['referer_url'] = $_SERVER['HTTP_REFERER'];
}
}
if ( isset( $_SESSION['referer_url'] ) && ( is_account_page() || is_user_logged_in() ) ) {
// redirect user to last visited page after login
wp_safe_redirect( $_SESSION['referer_url'] );
exit;
}
}
add_action('template_redirect', 'wpse_131562_redirect');
```
Bu kod, gelen istek WooCommerce sayfalarından biri ise ve kullanıcı giriş yapmadıysa, onu myaccount sayfasına yönlendirir. Ancak hesap sayfasında ki giriş sayfasında kullanıcının son ziyaret ettiği sayfayı kaydeder ve kaydedilmiş bir `referer_url` varsa, kullanıcı giriş yaptıktan sonra son ziyaret edilen sayfaya yönlendirir.
Bu kod, `$_SESSION` kullanarak son ziyaret edilen sayfanın URL'sini kaydeder. Bu nedenle, `session_start()` işlevini `wp-config.php` dosyanıza eklemelisiniz. Aksi takdirde, kodun doğru şekilde çalışmayacağına dair bir uyarı alabilirsiniz. Bunu yapmak için `wp-config.php` dosyanızdaki ilk satıra `session_start();` ekleyebilirsiniz.
Hocam wp.config dosyasına session_start(); kodunu ekledim ama bu şekilde üyelik kısmına gitmiyor bu sefer de, çok fazla yönlendirildi diyor.