在 Woocommerce 3 中访问运费对象数据
Accessing Shipping Rate object data in Woocommerce 3
我想在 Woocommerce 中获取可能的运输方式。我可以到达 Class WC_Shipping_Rate class 但我不知道如何到达 'deeper' 这让我发疯。
这是我的代码:
$packages = WC()->shipping->get_packages();
foreach ( $packages as $i => $package ) {
foreach($package['rates'] as $value){
echo '<pre>'.var_export($value, true).'</pre>';
}
}
这段代码在我的屏幕上打印出来:
WC_Shipping_Rate::__set_state(array(
'data' =>
array (
'id' => 'flat_rate:1',
'method_id' => 'flat_rate',
'instance_id' => 1,
'label' => 'Per post',
'cost' => '2.50',
'taxes' =>
array (
),
),
'meta_data' =>
array (
'Items' => '1 Kip × 1',
),
))
WC_Shipping_Rate::__set_state(array(
'data' =>
array (
'id' => 'free_shipping:2',
'method_id' => 'free_shipping',
'instance_id' => 2,
'label' => 'Download kaart',
'cost' => '0.00',
'taxes' =>
array (
),
),
'meta_data' =>
array (
'Items' => '1 Kip × 1',
),
))
我的问题是:如何访问 data
数组然后访问 label
值?我知道如何获得 label
值,但我无法 'reach' data
...
我尝试使用方法、更多数组来获取它,但 WC_Shipping_Rate::__set_state(array(
让我感到困惑。如有任何帮助,我们将不胜感激。
使用 WC_Shipping_Rate
methods 或直接使用属性尝试以下操作:
// Loop though shipping packages
foreach ( WC()->shipping->get_packages() as $key => $package ) {
// Loop through Shipping rates
foreach($package['rates'] as $rate_id => $rate ){
echo $rate->get_label(). '<br>';
// Or:
echo $rate->label. '<br>';
}
}
已测试并有效。
我想在 Woocommerce 中获取可能的运输方式。我可以到达 Class WC_Shipping_Rate class 但我不知道如何到达 'deeper' 这让我发疯。
这是我的代码:
$packages = WC()->shipping->get_packages();
foreach ( $packages as $i => $package ) {
foreach($package['rates'] as $value){
echo '<pre>'.var_export($value, true).'</pre>';
}
}
这段代码在我的屏幕上打印出来:
WC_Shipping_Rate::__set_state(array(
'data' =>
array (
'id' => 'flat_rate:1',
'method_id' => 'flat_rate',
'instance_id' => 1,
'label' => 'Per post',
'cost' => '2.50',
'taxes' =>
array (
),
),
'meta_data' =>
array (
'Items' => '1 Kip × 1',
),
))
WC_Shipping_Rate::__set_state(array(
'data' =>
array (
'id' => 'free_shipping:2',
'method_id' => 'free_shipping',
'instance_id' => 2,
'label' => 'Download kaart',
'cost' => '0.00',
'taxes' =>
array (
),
),
'meta_data' =>
array (
'Items' => '1 Kip × 1',
),
))
我的问题是:如何访问 data
数组然后访问 label
值?我知道如何获得 label
值,但我无法 'reach' data
...
我尝试使用方法、更多数组来获取它,但 WC_Shipping_Rate::__set_state(array(
让我感到困惑。如有任何帮助,我们将不胜感激。
使用 WC_Shipping_Rate
methods 或直接使用属性尝试以下操作:
// Loop though shipping packages
foreach ( WC()->shipping->get_packages() as $key => $package ) {
// Loop through Shipping rates
foreach($package['rates'] as $rate_id => $rate ){
echo $rate->get_label(). '<br>';
// Or:
echo $rate->label. '<br>';
}
}
已测试并有效。