1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊
以下代碼將為購(gòu)物車(chē)中找到的每個(gè)附加產(chǎn)品類(lèi)別添加額外的運(yùn)費(fèi)(因此不適用于第一個(gè)):
add_filter( 'woocommerce_package_rates', 'filter_shipping_rates_costs', 10, 2 );
function filter_shipping_rates_costs( $rates, $package ) {
? ? $step_cost = 50;
? ? $term_ids? = array();
? ? // Loop through cart items for the current shipping package
? ? foreach( $package['contents'] as $cart_item ){
? ? ? ? $term_ids = array_merge(
? ? ? ? ? ? $term_ids,
? ? ? ? ? ? (array) $cart_item['data']->get_category_ids()
? ? ? ? );
? ? }
? ? $terms_count = count( $term_ids );
? ? // Loop through shipping rates
? ? foreach ( $rates as $rate_key => $rate ) {
? ? ? ? // Excluding free shipping methods
? ? ? ? if ( 'free_shipping' !== $rate->method_id && $terms_count > 1 ) {
? ? ? ? ? ? // Set rate cost
? ? ? ? ? ? $rates[$rate_key]->cost = $rate->cost + ($step_cost * ($terms_count - 1));
? ? ? ? }
? ? }
? ? return $rates;
}
現(xiàn)在,如果您想為購(gòu)物車(chē)中找到的每個(gè)類(lèi)別添加額外的運(yùn)費(fèi),請(qǐng)使用以下命令:
add_filter( 'woocommerce_package_rates', 'filter_shipping_rates_costs', 10, 2 );
function filter_shipping_rates_costs( $rates, $package ) {
? ? $step_cost = 50;
? ? $term_ids? = array();
? ? // Loop through cart items for the current shipping package
? ? foreach( $package['contents'] as $cart_item ){
? ? ? ? $term_ids = array_merge(
? ? ? ? ? ? $term_ids,
? ? ? ? ? ? (array) $cart_item['data']->get_category_ids()
? ? ? ? );
? ? }
? ? $terms_count = count( $term_ids );
? ? // Loop through shipping rates
? ? foreach ( $rates as $rate_key => $rate ) {
? ? ? ? // Excluding free shipping methods
? ? ? ? if ( 'free_shipping' !== $rate->method_id && $terms_count > 0 ) {
? ? ? ? ? ? // Set rate cost
? ? ? ? ? ? $rates[$rate_key]->cost = $rate->cost + ($step_cost * $terms_count);
? ? ? ? }
? ? }
? ? return $rates;
}
代碼位于活動(dòng)子主題(或活動(dòng)主題)的functions.php 文件中。經(jīng)過(guò)測(cè)試并有效。
刷新運(yùn)輸緩存:
此代碼已保存在您的functions.php 文件中。
在運(yùn)輸區(qū)域設(shè)置中,禁用/保存任何運(yùn)輸方式,然后啟用返回/保存。
你已經(jīng)完成了,你可以測(cè)試它。
- 1 回答
- 0 關(guān)注
- 113 瀏覽
添加回答
舉報(bào)