Уведомление о задержке в Woocommerce на странице оформления заказа

Я пытаюсь добавить действие, которое будет проверять, проверяется ли товар, который в настоящее время доступен только на обратном заказе, — и в случае, если один или несколько, Я хочу отобразить сообщение перед оформлением заказа.

Я получил это далеко:

add_action( 'woocommerce_before_checkout_form', 'wnd_checkout_message', 10 );
function wnd_checkout_message( ) {
echo '<div class="wnd-checkout-message"><h3>The message goes here!</h3></div>';}

Но как я могу проверить, находится ли в корзине товар, заказанный в данный момент, или нет?

1

Решение

Добавьте этот код в ваш файл functions.php. Он покажет уведомление, если один из продуктов в вашей корзине находится на складе.

add_action( 'woocommerce_before_checkout_form', 'es_checkout_add_cart_notice' );

function es_checkout_add_cart_notice() {
$message = "You have a backorder product in your cart.";

if ( es_check_cart_has_backorder_product() )
wc_add_notice( $message, 'error' );

}

function es_check_cart_has_backorder_product() {
foreach( WC()->cart->get_cart() as $cart_item_key => $values ) {
$cart_product =  wc_get_product( $values['data']->get_id() );

if( $cart_product->is_on_backorder() )
return true;
}

return false;
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector