Я хотел бы обойти страницу корзины и перенаправить пользователя на страницу оформления для нескольких продуктов.Пропустить страницу корзины для нескольких продуктов, перенаправляющих на заказ
Я создал добавить в корзину ссылку на продукт <a href="http://example.net/?add-to-cart=1461">Product Name</a>
И у меня есть код ниже
add_filter('woocommerce_add_to_cart_redirect', 'woo_redirect_checkout');
function woo_redirect_checkout() {
global $woocommerce;
$desire_product = 1461;
//Get product ID
$product_id = (int) apply_filters('woocommerce_add_to_cart_product_id', $_POST['add-to-cart']);
//Check if current product is subscription
if ($product_id == $desire_product){
$checkout_url = $woocommerce->cart->get_checkout_url();
return $checkout_url;
exit;
} else {
$cart_url = $woocommerce->cart->get_cart_url();
return $cart_url;
exit;
}
}
из How to skip cart page on woocomerce for certain products only?. Но вместо этого URL перенаправляет меня на главную страницу. Просто интересно, где находится проблема,
Я также снял флажок добавить поведение в корзину в настройках woocommerce.
Заранее спасибо.
Исходный комментарий говорит, что 'get_checkout_url()' устарел, но он не * на самом деле * устарел. В любом случае, [источник] (https://github.com/woocommerce/woocommerce/blob/master/includes/class-wc-cart.php#L636-L645) советует использовать 'wc_get_checkout_url()'. – helgatheviking
@helgatheviking О, спасибо, обновлено для всех версий ... Я знаю, многие мои ответы теперь несовместимы с woocommerce 3.0+ ... Я постараюсь обновить их постепенно ... – LoicTheAztec
Источник говорит, что 'wc_get_checkout_url()' был доступен с версии 2.5. : shrugs: :) Это не отрицает то, что вы сказали об ответах, которые сейчас устарели. Я бы об этом не беспокоился. Они были правы, когда вы отправляли сообщения. – helgatheviking