Хорошо, это странно, выслушайте меня:
function ts_redirect_login( $redirect, $user){
if(!WC()->cart->is_empty()){
$redirect = wc_get_cart_url();
}
else{
$redirect = get_home_url();
}
return $redirect;
}
add_filter( 'woocommerce_login_redirect', 'ts_redirect_login', 10, 2 );
Это работает, если пользователь просматривает сайт (не вошел в систему), добавляет элемент и входит в систему. После входа он перенаправляется на корзина.
Это не работает, если пользователь добавлял товары в корзину при входе в систему, выходит из системы, покидает сайт и возвращается для входа в систему. После входа в систему он перенаправляет пользователя на домашнюю страницу, как будто нет элементов. в корзине. После входа в систему, если я go в корзину, она не пустая, но перенаправление не произошло.
Итак, мой вопрос: как перенаправить пользователя, который добавил элементы в предыдущем сеансе, когда он входит в систему?
var_dump показывает false только для is_empty (), если я добавляю элемент, в который не вошли, что имеет смысл, он не может знать, от какого пользователя я буду входить в систему и есть ли у меня продукты в корзине. Но как только я войду в систему, я не могу быть перенаправлен в корзину, если у меня есть предметы в ней?