0
我試圖通過wooforce爲WooCommerce運輸插件創建自定義函數。有兩個插件,ups和usps。WooCommerce自定義運輸功能
我想要實現的是,如果客戶添加了來自類別X或其任何子類別的產品,除ups之外的所有價格都會被取消設置。
如果這些產品不在購物車中,所有選項都可用。
開發人員向我指出了這段代碼,但我仍然對PHP和WordPress/WooCommerce結構化PHP非常陌生,所以我有點卡住瞭如何繼續。
這是他們給我的代碼。
add_filter('woocommerce_package_rates', 'hide_shipping_method_when_shipping_class_product_is_not_in_cart', 10, 2);
function hide_shipping_method_when_shipping_class_product_is_not_in_cart($available_shipping_methods, $package)
{
// Shipping class IDs that need the method removed
$shipping_class_ids = array(
27,
);
$shipping_services_to_hide = array(
'wf_fedex_woocommerce_shipping:FEDEX_GROUND',
'wf_fedex_woocommerce_shipping:FEDEX_2_DAY_AM'
);
$shipping_class_exists = false;
foreach(WC()->cart->cart_contents as $key => $values) {
if (in_array($values['data']->get_shipping_class_id() , $shipping_class_ids)) {
$shipping_class_exists = true;
break;
}
}
if (!$shipping_class_exists) {
foreach($shipping_services_to_hide as & $value) {
unset($available_shipping_methods[$value]);
}
}
return $available_shipping_methods;
}