dev*_*mya 7 wordpress shipping woocommerce
在 WooCommerceincludes\class-express-checkout-gateway.php文件中,我通过以下代码获取运输方式 ID:
$chosen_shipping_methods = WC()->session->get('chosen_shipping_methods');
Run Code Online (Sandbox Code Playgroud)
它得到了flat_rate:1,但我需要它的标题 - Flat Rate。
我已经尝试了所有这些答案以及更多。
我怎样才能得到这个?
$rate_table = array();
$shipping_methods = WC()->shipping->get_shipping_methods();
foreach($shipping_methods as $shipping_method){
$shipping_method->init();
foreach($shipping_method->rates as $key=>$val)
$rate_table[$key] = $val->label;
}
echo $rate_table[WC()->session->get( 'chosen_shipping_methods' )[0]];
Run Code Online (Sandbox Code Playgroud)
像这样尝试
如果客户已经在前端计算了运费,则应该可以:
function get_shipping_name_by_id( $shipping_id ) {
$packages = WC()->shipping->get_packages();
foreach ( $packages as $i => $package ) {
if ( isset( $package['rates'] ) && isset( $package['rates'][ $shipping_id ] ) ) {
$rate = $package['rates'][ $shipping_id ];
/* @var $rate WC_Shipping_Rate */
return $rate->get_label();
}
}
return '';
}
Run Code Online (Sandbox Code Playgroud)
如果找不到给定运输 ID 的名称,这将返回一个空字符串。
| 归档时间: |
|
| 查看次数: |
15077 次 |
| 最近记录: |