Я хочу показать, активирована ли бесплатная доставка в моей корзине WooCommerce, и сказать людям: «Эй, у вас есть бесплатная доставка!». Бесплатная доставка может быть активирована либо суммой заказа, либо купоном.
Я пробовал этот код, но он возвращает пустой массив.
global $woocommerce;
$woocommerce->shipping->get_shipping_methods();
В противном случае я мог бы проверить, был ли установлен free_shipping.
Надеюсь, у всех вас есть отличные идеи, как заставить это работать 🙂
global $woocommerce;
$shipping_methods = $woocommerce->shipping->load_shipping_methods();
if($shipping_methods['free_shipping']->enabled == "yes")
{
$cart_total_amount = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );
if( $shipping_methods['free_shipping']->min_amount <= $cart_total_amount ) echo "Hey, you've got free shipping!";
else echo "Free shipping on all orders of " . $shipping_methods['free_shipping']->min_amount . get_woocommerce_currency_symbol() . "+";
}
Других решений пока нет …