2017-02-22 25 views
0

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

Вот код:

$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

ответ

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^