Доступ к данным об объекте тарифа доставки в Woocommerce 3

Я хочу получить возможные способы доставки в Woocommerce. Я могу добраться до класса Class_Chipping_Rate, но я не знаю, как стать «глубже», и это сводит меня с ума.

Вот мой код:

$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 значение, но я не могу «достичь» data

Я пытался получить его с помощью методов, больше массивов, но WC_Shipping_Rate::__set_state(array( смущает меня Любая помощь будет оценена.

0

Решение

Попробуйте следующее, используя WC_Shipping_Rate методы или непосредственно свойства:

// 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>';
}
}

Проверено и работает.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]