Я получил ваш ответ после некоторого поиска в этом official thread related to WC 2,6+ and Shipping default Zone, а также в исходном коде WC_Shipping_Zone
класса. Вы узнаете, что класс по умолчанию имеет ID = 0
.
Я попытался это первый:
$default_zone = new WC_Shipping_Zone(0);
print_r($default_zone);
И я получил этот массив:
WC_Shipping_Zone Object ([_data: защищенный] => Array ([zone_id] => 0
[ zone_name] => Остальной мир [zone_order] => 0 [zone_locations] => Array()) [_locations_changed: WC_Shipping_Zone: private] => [_cache_group: protected] => [_meta_type: protected] => post [object_id_field_for_meta : protected] => [_meta_data: protected] => Array() [_internal _meta_keys: protected] => Array())
Bingo 1! данные там и я получаю по умолчанию Доставки зона объекта, но защищена и не доступны через петлю Еогеаспа или что-то еще ...
Если вы посмотрите WC_Shipping_Zone
вы видите тх это продолжаетсяWC_Data класс.
Так что я пытался использовать методы WC_Data с этим объектом, таким образом:
$default_zone = new WC_Shipping_Zone(0);
$default_zone_data = $default_zone->get_data();
print_r($default_zone_data);
Бинго 2 !!! он выводит массив sam, но на этот раз он не защищен и недоступен.
Так что ответ:
$default_zone = new WC_Shipping_Zone(0);
$default_zone_data = default_zone->get_data();
$default_zone_id = $default_zone_data->zone_id;
$default_zone_order = $default_zone_data-> zone_order;
$default_zone_locations = $default_zone_data-> zone_locations;
$default_zone_meta_data = $default_zone_data-> meta_data;
// AND TO FINISH THE THE NAME!!!
$default_zone_name = $default_zone_data->zone_name;
echo $default_zone_name
Выход echo $default_zone_name
является Остальной мир (ре-лото !!!) ...
вы также можете использовать другие WC_Data
и WC_Shipping_Zone
способы получения необходимых данных:
$default_zone = new WC_Shipping_Zone(0);
$default_zone_formatted_location = $default_zone->get_formatted_location();
$default_zone_shipping_methods$ = default_zone->get_shipping_methods();
// And so on …
благодарите свой ответ, но можете ли вы помочь мне получить ** zone_name ** и ** zone_id ** только ** Бесплатная доставка ** метод? – huykon225
Приведите свой ответ. Я нашел способ получить всю ценность. Я отправлю ответ здесь и добавлю свой скайп. Спасибо большое ! – huykon225
Да @LoicTheAztec. Это мне очень помогает. Еще раз спасибо – huykon225