получите простой массив всех названий терминов, существующих во всех таксономиях


Возможно, я все делаю неправильно, но я пытаюсь использовать термины get, чтобы получить все термины, которые существуют в каждой таксономии.

Я думаю, что это может быть вопрос php.

Get_terms позволяет указать, из каких таксономий он получает термины в массиве, подобном этому...

get_terms( array(post_tag, category, nav_menu, link_category, post_format), $args )

Это работает, но я пишу плагин, и если у людей есть пользовательские таксономии, ручной ввод массива не будет работать. Поэтому я решил, что решением будет использовать таксономию get для создайте этот массив. Проблема в том, что он возвращается в виде ассоциативного массива, а мне нужен простой массив. Поэтому я сделал это...

$myarray = 'array('. implode(', ',get_taxonomies('','names')) .')';

Который, если я повторяю $myarray, возвращает: массив (категория, post_tag, nav_menu, ссылка на категорию, post_format)

Идеально; Это именно то, что я ввел вручную. теперь я должен быть в состоянии вставить $myarray в термины get_get, где я ввел его вручную, и он должен получить все. Нет. Ему это не нравится.

Вот весь фрагмент кода, вместе с фотографией того, что гет повторил. Вы можете видеть, что $myarray точно такой же, как и в рабочих get_terms, но он нарушает вторые get_terms.

$myarray = 'array('. implode(', ',get_taxonomies('','names')) .')';

echo $myarray . '<br/>';
echo 'array(category, post_tag, nav_menu, link_category, post_format) <br/><br/>';

print_r(get_terms( array(post_tag, category, nav_menu, link_category, post_format), $args )); echo '<br /><br />';
print_r(get_terms( $myarray , $args )); echo '<br /><br />';

Результат: http://i.imgur.com/tMJUmaz.jpg

Author: ItsGeorge, 2013-03-03

1 answers

Хорошо, поэтому я не знаю, что я делал неправильно, потому что я пробовал это раньше и не мог заставить это работать, но в итоге я использовал array_values() после того, как несколько человек рекомендовали это в другом потоке.

В конце концов я написал это так:

get_terms( array_values((get_taxonomies('','names'))) , $args );
 1
Author: ItsGeorge, 2013-03-05 06:18:36