Присвоение ключей пустому массиву - PullRequest
0 голосов
/ 15 октября 2019

Вот то, что у меня сейчас есть с моим кодом:

$wp_query = new WP_Query([
    'post_type' => 'office',
    'post_status' => 'any',
    'posts_per_page' => -1,
]);

$offices = [];
if (count($wp_query->posts) > 0) {
    $offices = $wp_query->posts;
}

foreach ($offices as $office) {

    /* Set the $office variable to return all office names */
    $office = get_post_meta($office->ID, '_office_id');
}

У меня есть массив $ office = [] .. empty, который возвращает следующее:

 Array (
     [0] => WP_Post Object
         (
             [ID] => 52856

затем яу меня есть переменная $ office в foreach, которая возвращает get_post_meta для _office_id, который возвращает следующее:

 Array (
     [0] => RIODEJANFHBRZ )

Как я могу построить массив из переменной $ office и поместить значение office в качестве назначенного ключа массива, чтобыэто [_office_id] => и т.д ..? Перепробовал всевозможные способы и тоже не смог.

Пример:

Array (
     [_office_id] => RIODEJANFHBRZ )

Ответы [ 2 ]

1 голос
/ 15 октября 2019

Добавьте true в последний параметр функции. Добавление true даст вам один результат, а не массив.

foreach ($offices as $office) {
  $key['_office_id'] = get_post_meta($office->ID, '_office_id', true);
  print_r2($key);
}

См. Этот URL: https://developer.wordpress.org/reference/functions/get_post_meta/

Надеюсь, это поможет.

0 голосов
/ 15 октября 2019

Я кое-что понял, но пока не думаю, что это на 100% правильно.

Вот мой результат:

Array (
    [_office_id] => Array
        (
            [0] => RIODEJANFHBRZ
        )

)

Вот код:

foreach ($offices as $office) {
    $key['_office_id'] = get_post_meta($office->ID, '_office_id');
    print_r2($key);
}

Разве это не должно быть:

[_ office_id] => RIODEJANFHBRZ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...