Есть сайт на wordpress с плагином woocommerce. Делаю функционал кнопки "Купить сейчас", который при нажатии кнопки, должен отправлять товар в корзину и автоматически переходить на страницу "Оформить заказ". Приведу получившийся код.
Рядом с кнопкой "Добавить в корзину" я разместил кнопку:
<button type="submit" name="add-to-cart" value="<?php echo esc_attr($product->get_id()); ?>" class="single_add_to_cart_button button alt" id="buy_now_button">
<?php echo esc_html('Buy Now'); ?>
</button>
<input type="hidden" name="is_buy_now" id="is_buy_now" value="0" />
В файл functions.php я вставил следующее:
function buy_now_submit_form() {
?>
<script>
jQuery(document).ready(function(){
// listen if someone clicks 'Buy Now' button
jQuery('#buy_now_button').click(function(){
// set value to 1
jQuery('#is_buy_now').val('1');
//submit the form
jQuery('form.cart').submit();
});
});
</script>
<?php
}
add_action('woocommerce_after_add_to_cart_form', 'buy_now_submit_form');
add_filter('woocommerce_add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout($redirect_url) {
if (isset($_REQUEST['is_buy_now']) && $_REQUEST['is_buy_now']) {
global $woocommerce;
$redirect_url = wc_get_checkout_url();
}
return $redirect_url;
}
В итоге, в корзину добавляется, но редиректа на страницу оформления заказа нет. Лишь перезагружается товар (если находимся внутри товара), либо отправляет внутрь товара (если находимся на категории товара). Подскажите, что нужно исправить или модернизировать?