Woocommerce. Показать добавление в корзину только для одной категории

Надеюсь, все в порядке. Пытался найти решение нижеприведенного, но безуспешно.

У меня есть магазин wordpress / woocommerce.

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

НО продукты относятся к разным категориям и подкатегориям.

В идеале я хочу создать категорию под названием (КУПИТЬ), и если продукт находится в этой категории, будут включены функции добавления в корзину. Проблема в том, что продукты также будут попадать в другие категории, поэтому не уверен, какая категория преобладает над другой. КУПИТЬ не будет основной категорией в настройках.

Надеюсь, что это имеет смысл, и любая помощь будет оценена


person user3433905    schedule 21.04.2020    source источник
comment
Я нашел ниже, что пытался настроить ..   -  person user3433905    schedule 21.04.2020
comment
add_action ('woocommerce_after_shop_loop_item', 'remove_add_to_cart_buttons', 1); function remove_add_to_cart_buttons () {if (has_term ('б / у оборудование', 'product_cat')) {remove_action ('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10); }}   -  person user3433905    schedule 21.04.2020


Ответы (1)


Насколько я понял ваш вопрос, я думаю, лучшим вариантом было бы использовать фильтр woocommerce_is_purchasable ... попробуйте это

add_filter( 'woocommerce_is_purchasable', 'so_61342022_woocommerce_product_purchasable', 10, 2 );

function so_61342022_woocommerce_product_purchasable( $purchasable, $product ) {

   return ( has_term( 'buy', 'product_cat' ) ) ? true : false;
}

здесь 'buy' - ярлык вашей категории продукта ... измените его по своему усмотрению. так что это отключит опцию покупки из любого места ... ajax, прямой URL-адрес и скрыть кнопку добавления в корзину.

person Sajjad Hossain Sagor    schedule 21.04.2020