Убрать «Добавить в корзину» из WooCommerce

В functions.php для текущей темы кладем

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );

remove_action( 'woocommerce_simple_add_to_cart', 'woocommerce_simple_add_to_cart', 30 );

remove_action( 'woocommerce_grouped_add_to_cart', 'woocommerce_grouped_add_to_cart', 30 );

Убрать «Добавить в корзину» из WooCommerce: 9 комментариев

    1. Думаю, что в самом коде шаблона компонента в месте показа корзины добавить условие
      if (get_current_user_id()){//показываем корзину};
      Если пользователь не зарегистрирован, то функция отдает false

  1. А как убрать \»Добавить в корзину\» только для нескольких конкретных товаров?

    1. Думаю, что тоже самое, как выше, только нужно смотреть на id товара: $product->get_id();
      https://docs.woocommerce.com/wc-apidocs/class-WC_Product.html
      Можно сделать так:
      $NotAlowed=array(1,2,45,656,34,33);//id товаров
      if (in_array(NotAlowed,$product->get_id()){//если нет}else{//если отображать корзину}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *