Я надеюсь, что кто-то может помочь, я пытался получить информацию из моего плагина пользовательских полей в Woocommerce (используя его с подписками WooCommerce).
Я пытаюсь собрать детали, чтобы я мог JSON Отправьте его на другую платформу.
Мне удалось подключиться к активному статусу подписки, узнать подробности через переменную $ subscription, JSON расшифровать его и затем захватить часть пользовательских полей, найденную в ' массив meta_data '.
Теперь он сохраняется в переменную с именем $ orderdata.
Переменная выглядит как
array (
0 =>
array (
'id' => 20992,
'key' => '_billing_parent_first_name',
'value' => 'Father First Name',
),
1 =>
array (
'id' => 20993,
'key' => '_billing_parent_last_name',
'value' => 'Father Last Name',
),
2 =>
array (
'id' => 20994,
'key' => '_billing_parent_email',
'value' => 'father@test.com',
),
3 =>
array (
'id' => 20995,
'key' => '_billing_parent_number',
'value' => '12345678',
),
4 =>
array (
'id' => 20996,
'key' => '_billing_childs_first_name',
'value' => 'test',
),
5 =>
array (
'id' => 20997,
'key' => '_billing_childs_last_name',
'value' => 'test',
),
6 =>
array (
'id' => 20998,
'key' => '_billing_childs_email',
'value' => 'test@gmail.com',
),
7 =>
array (
'id' => 20999,
'key' => 'is_vat_exempt',
'value' => 'no',
),
8 =>
array (
'id' => 21000,
'key' => 'thwcfe_ship_to_billing',
'value' => '1',
),
)
Моя цель - сохранить каждое поле как _billing_parent_number в переменная, чтобы я мог отправить ее, используя POST.
Кто-нибудь знает, как я могу захватить нужные мне поля?
Я пробовал множество методов, от поиска в массиве до столбца массива (я использую error_log для тестирования в Wordpress, чтобы увидеть результат).
Я подошел близко к foreach
l oop но я не знаю, как получить следующее поле в объекте и получить его значение, next () в этом случае не сработало: (
Любая помощь приветствуется!
add_action( 'woocommerce_subscription_status_active', 'get_details_add_bundle' );
function get_details_add_bundle($subscription) {
$obj = json_decode($subscription, true);
error_log($obj);
$orderData = $obj['meta_data'];
foreach($orderData as $key => $value) {
if($key == 'key' && $value="_billing_childs_email"){
error_log(next($orderData)[2]);
}
}