На моей странице корзины Woocommerce я хотел бы автоматически перенаправлять пользователей на страницу оформления заказа, когда они нажимают кнопку «Обновить корзину» после завершения выполнения функции update_cart_action ().
Последние строки дескриптор функции W C update_cart_action () перенаправляет:
if ( ! empty( $_POST['proceed'] ) ) {
wp_safe_redirect( wc_get_checkout_url() );
exit;
} elseif ( $cart_updated ) {
wc_add_notice( __( 'Cart updated.', 'woocommerce' ), apply_filters( 'woocommerce_cart_updated_notice_type', 'success' ) );
$referer = remove_query_arg( array( 'remove_coupon', 'add-to-cart' ), ( wp_get_referer() ? wp_get_referer() : wc_get_cart_url() ) );
wp_safe_redirect( $referer );
exit;
}
Я попытался присвоить значение $ _POST ['continue'] для вызова wc_get_checkout_url (), например:
function mytheme_trigger_proceed_to_checkout( $cart_updated ) {
$_POST['proceed'] = true;
return $cart_updated;
}
add_filter( 'woocommerce_update_cart_action_cart_updated', 'mytheme_trigger_proceed_to_checkout', 10, 1 );
Но вместо того, чтобы перенаправить на мой URL-адрес оформления заказа, я перенаправлен на URL-адрес корзины с пустой страницей. Редактирование кода плагина W C напрямую дало тот же результат.
Как я могу перенаправить на URL оформления заказа после завершения обновления корзины?