检查 WooCommerce 购物车页面上是否启用了特定的送货方式
Check if specific shipping method is enabled on WooCommerce cart page
在 WooCommerce 购物车页面中,我使用下面的代码检查是否启用了特定的送货方式,但 if 语句的条件始终为真,因此它不起作用。
global $woocommerce;
$shipping_methods = $woocommerce->shipping->load_shipping_methods();
if ( $shipping_methods['free_shipping']->enabled == "yes" ) {
}
如果启用了特定的送货方式,我如何在购物车页面上查看?
如果在当前送货区域的 WooCommerce 送货设置中启用了“free_shipping”送货方式,方法 enabled()
将是 yes,这就是原因你总是得到“是”…
要检查 WC_Cart
对象,您将使用 WC_Session
相关数据。以下是“免运费”送货方式的示例:
// 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.';
但如果客户在购物车页面上进行更改,则不会在购物车页面上刷新。
在 WooCommerce 购物车页面中,我使用下面的代码检查是否启用了特定的送货方式,但 if 语句的条件始终为真,因此它不起作用。
global $woocommerce;
$shipping_methods = $woocommerce->shipping->load_shipping_methods();
if ( $shipping_methods['free_shipping']->enabled == "yes" ) {
}
如果启用了特定的送货方式,我如何在购物车页面上查看?
如果在当前送货区域的 WooCommerce 送货设置中启用了“free_shipping”送货方式,方法 enabled()
将是 yes,这就是原因你总是得到“是”…
要检查 WC_Cart
对象,您将使用 WC_Session
相关数据。以下是“免运费”送货方式的示例:
// 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.';
但如果客户在购物车页面上进行更改,则不会在购物车页面上刷新。