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

Вы все знаете, что если в 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. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

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