2017-01-31 3 views
2

Я хотел бы отключить функциональность тележки WooCommerce.Отключить страницу корзины

В моем магазине имеется только один продукт, поэтому тележка действительно не нужна.

Мой желаемый поток Нажмите кнопку покупки -> перейти на страницу оформления.

Incase пользователь возвращается и повторить тот же самый процесс, контроль страница не будет показывать 2 модели резюме купить только 1.

Любые советы о том, как достичь этого гладко?

Спасибо,

+0

Спасибо @ Dave, но я хотел бы использовать страницу проверки WooCommerce по умолчанию, который содержит способ оплаты, доставки информации и т.д .. – infoshir

ответ

0

Если вам нужно пропустить странице корзины, самый простой способ это пойти в Woocommerce-> Настройки-> Checkout и установить Корзина страницы к странице «Оформление заказа»

Или использовать этот фрагмент

add_filter('add_to_cart_redirect', 'themeprefix_add_to_cart_redirect'); 
function themeprefix_add_to_cart_redirect() { 
global $woocommerce; 
$checkout_url = $woocommerce->cart->get_checkout_url(); 
return $checkout_url; 
} 

не забудьте отключить Ajax Добавить в корзину и Перенаправление на странице корзины после успешного добавления в Woocommerce-> Настройки-> Продукция-> Дисплей Если вы используете первый метод, вы можете проверить Перенаправление на страницу корзины после успешного добавления.

Для ограничения одного элемента в заказе используйте этот фрагмент. Таким образом, покупатель может купить только один товар, если клиент отправляется на другой товар и пытается его купить, тележка будет очищена и добавлен последний элемент.

add_filter('woocommerce_add_cart_item_data', 'woo_custom_add_to_cart'); 
function woo_custom_add_to_cart($cart_item_data) { 
    global $woocommerce; 
    $woocommerce->cart->empty_cart(); 
    return $cart_item_data; 
} 
3

Вы нужны 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 опции отключены (и сохранить настройки): enter image description here