Я использую Wordpress 5.3.2 и Woocommerce 3.9.0 и пытаюсь перенаправить на страницу корзины после входа в систему.
Идея такова: когда новый пользователь приходит в интернет-магазин, он входит в систему для входа / регистрации, а когда он входит в систему, он перенаправляет его на страницу учетной записи (нормальное поведение). Но если у него уже есть что-то в его корзине, когда он войдет в систему, он должен перейти на страницу корзины, а не на страницу учетной записи.
Я уже пробовал это решение
function ts_redirect_login( $redirect ) {
$redirect_page_id = url_to_postid( $redirect );
$checkout_page_id = wc_get_page_id( 'checkout' );
if( $redirect_page_id == $checkout_page_id ) {
return $redirect;
}
global $current_user;
wp_get_current_user();
if ( is_user_logged_in() ) {
// i get that user is NOT logged in
}
return wc_get_page_permalink( 'cart' );
}
add_filter( 'woocommerce_login_redirect', 'ts_redirect_login' );
Но все, что я пытаюсь поместить в условную часть, дает мне результат того, что я не вошел в систему. Также в нем говорится, что моя корзина всегда пуста, даже если это не так.