Проверка корзины woocommerce в зависимости от страницы архива магазина - PullRequest
0 голосов
/ 23 мая 2018

Можно ли проверить корзину woocommerce с помощью woocommerce_add_to_cart_validation на основе уникальной страницы архива магазина, на которой сейчас находится пользователь?Я добавляю в корзину через ajax.

например

  • ЕСЛИ пользователь на странице strongshop И максимальное количество элементов 20 ...apply rule.
  • ЕСЛИ пользователь на странице smallshop И максимальное количество элементов 10 .... применить правило.

Этот фрагмент кода ниже работает и применяет проверку на основе $item_count >= 20:

// Prevent Redirect after cart error
add_filter( 'woocommerce_cart_redirect_after_error', '__return_false'); 
add_filter( 'woocommerce_add_to_cart_validation', 'restrict_only_one_item_in_cart' );

 function restrict_only_one_item_in_cart($cart_item_data) {

   global $woocommerce;
   $item_count = $woocommerce->cart->cart_contents_count;

   if($item_count >= 20){
      return false;
   }
   return $cart_item_data;
}

Когда я обновляю условие IF и добавляю ограничение is_page(), чтобы применитьПравило для определенных страниц.woocommerce_add_to_cart_validation не срабатывает совсем.

Обновлено условие IF ниже с is_page():

   if((is_page('strongshop') || is_page('strongshopmobile')) && $item_count >= 20){
      return false;

Товары добавляются в корзину через AJAX, поэтомуЯ озадачен, почему это не вызывает ... какие-либо предложения?

1 Ответ

0 голосов
/ 23 мая 2018

Это может работать:

add_action( 'wp_ajax_restrict_only_one_item_in_cart', 'restrict_only_one_item_in_cart' );
add_action( 'wp_ajax_nopriv_restrict_only_one_item_in_cart', 'restrict_only_one_item_in_cart' );


function restrict_only_one_item_in_cart() {
   ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...