Woocommerce

Отключить наложенный платеж для конкретных товаров

В файле functions.php вашей темы прописываем следующий код (читаем комментарий в коде — где проставлять ID товаров):

add_filter( 'woocommerce_available_payment_gateways', 'conditionally_disable_cod_payment_method', 10, 1);
function conditionally_disable_cod_payment_method( $gateways ){
// ЗДЕСЬ проставляете ID товаров, у которых надо отключить наложенный платеж
$products_ids = array(37,40,53);

// Цикл товаров в корзине
foreach ( WC()->cart->get_cart() as $cart_item ){
// Совместимость с WC 3+
$product_id = version_compare( WC_VERSION, '3.0', '<' ) ? $cart_item['data']->id : $cart_item['data']->get_id();
if (in_array( $cart_item['product_id'], $products_ids ) ){
unset($gateways['cod']);
break; // Когда «Налож. платеж» удаляется, мы останавливаем цикл
}
}
return $gateways;
}
Back to list

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

Ваш адрес email не будет опубликован.