如果一个WooCommerce网站存在多种不同的运费(Shipping Method),则可能有必要让用户在运费选择的模块中了解不同运费的区别。你可以解释运输的时长,或者解释价格的构成等,总之就是提供更多信息帮助用户做出最好的选择。比如在这里,我就对每个运费添加了时长的解释:
一个便捷的办法是通过以下代码实现的:
add_filter('woocommerce_cart_shipping_method_full_label', 'brain1981_custom_shipping_method_label', 10, 2);
function brain1981_custom_shipping_method_label( $label, $method ){
$txt = "";
if( $method->id=="flat_rate:1" || $method->id=="free_shipping:4" ){
$txt = 'In 15 Business days';
}else if( $method->id=="flat_rate:2" || $method->id=="free_shipping:3" ){
$txt = '7-10 Business days';
}
return $label . '<br /><small>' . $txt . '</small>';
} |
add_filter('woocommerce_cart_shipping_method_full_label', 'brain1981_custom_shipping_method_label', 10, 2);
function brain1981_custom_shipping_method_label( $label, $method ){
$txt = "";
if( $method->id=="flat_rate:1" || $method->id=="free_shipping:4" ){
$txt = 'In 15 Business days';
}else if( $method->id=="flat_rate:2" || $method->id=="free_shipping:3" ){
$txt = '7-10 Business days';
}
return $label . '<br /><small>' . $txt . '</small>';
}
需注意的是,WooCommerce的运费ID的格式都是以这样的形式呈现的:
flat_rate:1
free_shipping:2
以上这段代码就是事先辨认出这些运费ID,通过woocommerce_cart_shipping_method_full_label这个钩子在运费的标题后面增加一小段描述。如果你的运费数量不多且比较固定,这段代码就足够用了。
那么如果一个网站有很多种运费,并且经常会修改运费种类,上面这种hard codding的写法就会变得很臃肿且不易维护了。我们就需要给每个运费添加一个自定义的描述字段,实现后台管理描述,方便运维人员自己去修改运费设置。 查看详细 »