Как проверить, что оплата при оформлении заказа не требуется (или наоборот требуется)

Вы все знаете, что если в WooCommerce не указать цену товара, то этот товар будет недоступен для покупки. Однако у нас также есть возможность установить цену для товара равную нулю – и такой товар уже можно добавить в корзину и приобрести. В этом уроке покажу два условия, которые позволят вам проверить, нужна ли оплата текущего заказа или он в итоге содержит только бесплатные товары.

Хороший пример на скриншоте:

Оплата заказа не требуется
Корзина содержит только бесплатные товары.

Также хочу порекомендовать вам классный видеоурок по странице оформления заказа!

А вот так будет выглядеть условие, в первом случае мы осуществляем проверку методом объекта корзины WC->cart->needs_payment().

if( WC()->cart->needs_payment() ) {
	// в корзине есть товары стоимостью более 0 рублей, оплата заказа требуется
} else {
	// в корзине только бесплатные товары
}

А во втором случае – методом объекта WC_Order.

// получаем объект, либо он у нас и так доступен через глобальные переменные
$order = wc_get_order( $order_id ); 
 
if( $order->needs_payment() ) {
 
}

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.