亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 WooCommerce 品牌名稱添加到所有運輸方式名稱之前

將 WooCommerce 品牌名稱添加到所有運輸方式名稱之前

PHP
慕桂英4014372 2023-07-01 15:18:58
我正在嘗試弄清楚是否可以在任何可用的運輸選項前添加品牌名稱。我將建立一家商店,您一次只能訂購一個品牌,我將內置購物車限制,以防止將兩個品牌混合在一起。我有一個名為 Veeqo 的外部訂購系統,無需了解太多細節,我需要將購物車中產品的品牌名稱添加到所選的任何運輸方式之前,以便我可以通過這些運輸選項過濾訂單。例如BRAND-NAME UK 次日 BRAND-NAME UK 3-5 天這可以做到嗎?如果是這樣,怎么辦?意識到我在這里問了很多,但如果有人知道一種方法來做到這一點,將不勝感激!:)也許有一個函數在第一個行項目中搜索“品牌”,然后將此值添加到所有運輸方式標題中。WooCommerce 只會根據國家/地區等向他們顯示相關的購物方式。
查看完整描述

1 回答

?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

使用掛鉤在過濾器掛鉤中的自定義函數woocommerce_package_rates,您將能夠將購物車商品品牌名稱添加到運輸方式標簽名稱之前。

由于在 WooCommerce 中啟用品牌的方法有多種,您需要定義在 WooCommerce 中啟用的品牌插件所使用的分類法...

add_filter( 'woocommerce_package_rates', 'prepend_brand_to_shipping_methods', 10, 2 );

function prepend_brand_to_shipping_methods( $rates, $package ){

? ? // HERE define the taxonomy for product brand (depend of used plugin)

? ? $taxonomy ='product_brand';


? ? // Get the first cart item

? ? $cart_item = reset($package['contents']);


? ? // Get the product brand term name

? ? $brand_name = wp_get_post_terms( $cart_item['product_id'], $taxonomy, ['fields' =>'names']);

? ? $brand_name = reset($brand_name);


? ? // Loop through shipping rates

? ? foreach ( $rates as $rate_key => $rate ){

? ? ? ? // Changing shipping method label name

? ? ? ? $rates[$rate_key]->label = $brand_name . ' ' . $rate->label;

? ? }

? ? return $rates;

}

代碼位于活動子主題(或活動主題)的functions.php 文件中。經過測試并有效。


刷新運輸緩存:

1). 此代碼已保存在您的 function.php 文件中。

2)。在運輸區域設置中,禁用/保存任何運輸方式,然后啟用返回/保存。

你已經完成了,你可以測試它。


查看完整回答
反對 回復 2023-07-01
  • 1 回答
  • 0 關注
  • 160 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號