@Valery23

Как сделать редирект с кнопки “Buy now” на страницу оформления заказа woocommerce?

Есть сайт на 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;
}


В итоге, в корзину добавляется, но редиректа на страницу оформления заказа нет. Лишь перезагружается товар (если находимся внутри товара), либо отправляет внутрь товара (если находимся на категории товара). Подскажите, что нужно исправить или модернизировать?
  • Вопрос задан
  • 407 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы