Невозможно получить пользовательский тип из get_post_meta - 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) {
    $office = get_post_meta($wp_query, '_office_id');
    print_r($office);
}

Может кто-нибудь сказать мне, почему я не получаю никаких результатов от моего get_post_meta? Я не уверен, правильно ли я использую вызов $wp_query внутри функции. _office_id определенно существует, и я использовал его раньше using get_the_ID.

Ответы [ 2 ]

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

Я выяснил ответ, используя следующий вызов:

$office = get_post_meta($office->ID, '_office_id', true);

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

Функция get_post_meta() принимает $post_ID в качестве первого аргумента.

В вашем примере кода попробуйте использовать $office->ID. Например:

foreach ($offices as $office) {
    $office_id = get_post_meta($office->ID, '_office_id', true);
    print_r($office_id);
}

Также обратите внимание, что я установил третий аргумент функции на true, так как кажется, что код ожидает только одно значение. Если код ожидает список значений, измените его обратно на false (или удалите его).

Ссылка: https://developer.wordpress.org/reference/functions/get_post_meta/

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