WordPress array_column не работает на wp_get_post_terms

Я пытаюсь извлечь массив term_ids из wp_get_post_terms, используя array_column, но он ничего не возвращает.

Вот код:

$atype = wp_get_post_terms($property_ID, 'property_category', true);
$types = array_column($atype, 'term_id'); // Not working so using array map
$types2 = array_map(function($te) {
return $te->term_id;
}, $atype);

echo '$atype: ';
echo '<pre>'; print_r($atype); echo '</pre>';
echo '$types: ';
echo '<pre>'; print_r($types); echo '</pre>';
echo '$types2: ';
echo '<pre>'; print_r($types2); echo '</pre>';

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

$atype: Array
(
[0] => WP_Term Object
(
[term_id] => 51
[name] => Office
[slug] => office
[term_group] => 0
[term_taxonomy_id] => 51
[taxonomy] => property_category
[description] =>
[parent] => 0
[count] => 1
[filter] => raw
)

)
$types: Array
(
)
$types2: Array
(
[0] => 51
)

Почему не работает array_column? На основании документов, это должно быть. Я использую> php 5.5.
http://php.net/manual/en/function.array-column.php

0

Решение

Это потому что wp_get_post_terms возврат и массив объектs, а не двумерный массив. array_column работает только на 2-мерных массивах до php 7.0.0.

2

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

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