add_filter('woocommerce_login_redirect', 'my_wc_login_redirect', 10, 2);
function my_wc_login_redirect( $redirect, $user ) {
return wp_get_referer() ? wp_get_referer() : home_url();
}
wp_get_referer() у вас пустая, значит добавляйте к ссылке id текущего queried_object
<?php if ( is_user_logged_in() ) { ?>
<a href="<?php echo get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ); ?>"
title="<?php _e( 'My Account', 'woothemes' ); ?>"><?php _e( 'My Account', 'woothemes' ); ?></a>
<?php } else {
$obj = get_queried_object();
if ( is_singular() ) {
$red_url = 'my_red_single=' . $obj->ID;
} else {
$red_url = 'my_red_term=' . $obj->term_taxonomy_id;
}
?>
<a href="<?php echo get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ); ?>/?<?php echo $red_url; ?>"
title="<?php _e( 'Login / Register', 'woothemes' ); ?>"><?php _e( 'Login / Register', 'woothemes' ); ?></a>
<?php } ?>add_filter( 'woocommerce_login_redirect', 'my_wc_login_redirect', 10, 2 );
function my_wc_login_redirect($redirect, $user) {
$url = '';
if ( !empty( $_GET[ 'my_red_single' ] ) ) {
$url = get_the_permalink( (int) $_GET[ 'my_red_single' ] );
} elseif ( !empty( $_GET[ 'my_red_term' ] ) ) {
$url = get_term_link( (int) $_GET[ 'my_red_term' ] );
}
return !empty( $url ) ? $url : home_url();
}