Php 检查是否在购物车页面上启用了特定的配送方式

Php 检查是否在购物车页面上启用了特定的配送方式,php,wordpress,woocommerce,cart,shipping-method,Php,Wordpress,Woocommerce,Cart,Shipping Method,在WooCommerce购物车页面中,我使用下面的代码检查是否启用了特定的配送方法,但if语句上的条件始终为true,因此它不起作用 global $woocommerce; $shipping_methods = $woocommerce->shipping->load_shipping_methods(); if ( $shipping_methods['free_shipping']->enabled == "yes" ) { } 如果

在WooCommerce购物车页面中,我使用下面的代码检查是否启用了特定的配送方法,但if语句上的条件始终为true,因此它不起作用

    global $woocommerce;
    $shipping_methods = $woocommerce->shipping->load_shipping_methods();
    if ( $shipping_methods['free_shipping']->enabled == "yes" ) {

    }
如果启用了特定的配送方式,我如何在购物车页面上进行检查?

如果在当前配送区域的WooCommerce配送设置中启用了“免费配送”配送方式,则方法
启用()
将为

要检查
WC\u购物车
对象,您将使用
WC\u会话
相关数据。以下是“免费配送”配送方式的示例:

// Get available shipping methods
$shipping_for_package_0 = WC()->session->get('shipping_for_package_0');
$found = false;

if( isset($shipping_for_package_0['rates']) && ! empty($shipping_for_package_0['rates']) ) {
    // Loop through available shipping methods rate data
    foreach( $shipping_for_package_0['rates'] as $rate ) {
        // Targeting "Free Shipping"
        if( 'free_shipping' === $rate->method_id ) {
            $found = true;
            break;
        }
    }
}

// Display availability for "Free shipping"
echo $found ? 'Free shipping is available.' : 'Free shipping is not available.';
但如果客户在购物车页面上进行更改,它将不会在购物车页面上刷新