Вы нужны 4 фрагменты кода:
1) Отключение количествах кнопок (на странице):
add_filter('woocommerce_is_sold_individually', '__return_true');
2) Добавить к тележке проверки, позволяет просто один продукт в корзине:
add_action('woocommerce_add_to_cart_validation', 'check_product_is_in_cart');
function check_product_is_in_cart() {
WC()->cart->empty_cart();
return true;
}
3) заказ перенаправлять клиента, когда ваш продукт был добавлен в корзину (с современным синтаксисом):
add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
function redirect_to_checkout() {
return WC()->cart->get_checkout_url();
// OR ALSO:
// return get_permalink(get_option('woocommerce_checkout_page_id'));
}
Код Comme от этого ответа (с правильным новым синтаксисом): Woocommerce add to cart button redirect to checkout
4) Перенаправление Корзины страницы Checkout страница (в случае):
add_action('template_redirect', 'skip_cart_page_redirection_to_checkout');
function skip_cart_page_redirection_to_checkout() {
if(is_cart()){
wp_redirect(WC()->cart->get_checkout_url());
// OR ALSO:
// wp_redirect(get_permalink(get_option('woocommerce_checkout_page_id')));
exit; // This is mandatory with wp_redirect()
}
}
код идет в function.php файл вашей активной темы ребенка (или темы) или в любом файле плагина.
Код проверен и работает.
Отключение перенаправления в корзину на add-to-cart
действий и Ajax добавить к тележке в магазине странице и архивирует страница (опционально)
Вы также можете отключить некоторые параметры в WooCommerce> Настройки > Продукты> Дисплей (вкладка).
Необязательно держать что 2 опции отключены (и сохранить настройки):
Спасибо @ Dave, но я хотел бы использовать страницу проверки WooCommerce по умолчанию, который содержит способ оплаты, доставки информации и т.д .. – infoshir