GraF1N
@GraF1N

Как вывести атрибуты товаров Woocommerce?

Приветствую! Как получить массив с атрибутами товаров на странице checkout? Чтобы в дальнейшем его сравнить и запретить оплату для товаров с определенным атрибутом.

Задача: если в корзине есть товары с атрибутом цвет=красный, то скрыть способ оплаты PayPal.
  • Вопрос задан
  • 438 просмотров
Решения вопроса 1
GraF1N
@GraF1N Автор вопроса
Пытаюсь сделать так:

add_filter('woocommerce_available_payment_gateways', 'conditional_payment_gateways', 10, 1);
function conditional_payment_gateways( $available_gateways ) {

foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$prod_variable = $prod_simple = $prod_subscription = false;
// Get the WC_Product object
$product = wc_get_product($cart_item['product_id']);
// Get the product types in cart (example)
if($product->get_attributes('color') == 'red') $prod_simple = true;

}
// Remove Cash on delivery (cod) payment gateway for simple products
if($prod_simple)
unset($available_gateways['cod1']); // unset 'cod'
// Remove Paypal (paypal) payment gateway for variable products

return $available_gateways;
}


Не работает, видать я не правильно читаю атрибут товара
if($product->get_attributes('color') == 'red') $prod_simple = true;

Подскажите как правильно?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы