我想根据产品的运输类别更改商店结帐时显示的送货方式 Headers .
例如
送货方式 Headers 目前是统一费率,我有2个产品:
如果正在购买产品A,我需要它"Fragile shipping"
如果正在购买产品B,我需要它"Standard shipping"
可悲的是,我必须使用类进行运输,因此替代方法不起作用 .
任何帮助,将不胜感激 .
以下代码将根据您的“易碎”运费等级重命名您的运费统一费率:
您可能必须在“运输选项”选项卡下的常规运输设置中“启用调试模式”,以禁用临时运输缓存 .
代码:
add_filter('woocommerce_package_rates', 'change_shipping_method_name_based_on_shipping_class', 50, 2); function change_shipping_method_name_based_on_shipping_class($rates, $package){ // HERE set the shipping class for "Fragile" $shipping_class_id = 64; $found = false; // Check for the "Fragile" shipping class in cart items foreach( $package['contents'] as $cart_item ) { if( $cart_item['data']->get_shipping_class_id() == $shipping_class_id ){ $found = true; break; } } // Loop through shipping methods foreach ( $rates as $rate_key => $rate ) { // Change "Flat rate" Shipping method label name if ( 'flat_rate' === $rate->method_id ) { if( $found ) $rates[$rate_key]->label = __( 'Fragile shipping', 'woocommerce' ); else $rates[$rate_key]->label = __( 'Standard shipping', 'woocommerce' ); } } return $rates; }
代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .
不要忘记在运输设置中重新启用“启用调试模式”选项 .
我认为plugin可以帮助你,也可以查看one
2 回答
以下代码将根据您的“易碎”运费等级重命名您的运费统一费率:
代码:
代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .
我认为plugin可以帮助你,也可以查看one