将 WooCommerce 品牌名称添加到所有运输方式名称之前

我正在尝试弄清楚是否可以在任何可用的运输选项前添加品牌名称。我将建立一家商店,您一次只能订购一个品牌,我将内置购物车限制,以防止将两个品牌混合在一起。

我有一个名为 Veeqo 的外部订购系统,无需了解太多细节,我需要将购物车中产品的品牌名称添加到所选的任何运输方式之前,以便我可以通过这些运输选项过滤订单。例如

BRAND-NAME UK 次日 BRAND-NAME UK 3-5 天

这可以做到吗?如果是这样,怎么办?

意识到我在这里问了很多,但如果有人知道一种方法来做到这一点,将不胜感激!:)

也许有一个函数在第一个行项目中搜索“品牌”,然后将此值添加到所有运输方式标题中。WooCommerce 只会根据国家/地区等向他们显示相关的购物方式。


慕桂英4014372
浏览 128回答 1
1回答

潇湘沐

使用挂钩在过滤器挂钩中的自定义函数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)。在运输区域设置中,禁用/保存任何运输方式,然后启用返回/保存。你已经完成了,你可以测试它。
打开App,查看更多内容
随时随地看视频慕课网APP