Intereting Posts
Отсутствие term_id и term_taxonomy_id при добавлении термина с использованием функции wp_insert_term () Дайте редакторам доступ к определенному плагину – включите «admin.php» в «edit.php» Shortcode для номера заказа Тип пользовательского сообщения WordPress – Атрибут публикации: Шаблон. Шаблон отображается и сохраняется на задней панели, но файл темы по умолчанию отображается Добавить пользовательский класс в существующие элементы меню из настраиваемого мета Как добавить эту функцию к нескольким продуктам или всем продуктам определенной категории? Сообщение от front-end только при входе в систему, в форме сообщений как "отправлено: <имя пользователя в logged-in пользователя>" Связь со страницами / сообщениями на сайте XML-RPC и post_date Применение фильтров к the_content () для разделения содержимого, если обнаружен какой-либо `add_shortcode ()`? Могу ли я импортировать сайт (плагины, базу данных, изображения) и т. Д. В существующий многоязычный wordpress? Если тип Post использует боковую панель («дерево») Customizer: несколько стилей CSS для одного элемента в Live Preview Поворот фоновых изображений с настройками администратора Включая некоторые переменные в function.php и echo, это несколько мест темы не работает

get_the_terms в нисходящем алфавитном порядке

Я показываю список терминов, которым назначен пост, используя следующее:

<?php $terms = get_the_terms( $post->ID , 'winetype' ); $sep = ', '; foreach ( $terms as $term ) { echo $term->name; echo $sep; } ?> 

Но мы хотели бы, чтобы результат находился в нисходящем алфавитном порядке (ZA), я не могу найти способ использовать order => DESC на этом, любые предложения?

Большое спасибо в продвинутом виде.

Вы можете попробовать следующее:

 // Get posts terms $terms = wp_get_post_terms( $post->ID, 'winetype', array( 'order' => 'DESC') ); $sep = ', '; foreach ( $terms as $term ) { echo $term->name; echo $sep; } 

wp_get_post_terms() этого используйте wp_get_post_terms() :

 <?php $names = wp_get_post_terms( $post->ID, 'winetype', array( 'orderby' => 'name', 'order' => 'DESC', 'fields' => 'names' ); echo implode(', ', $names); // to avoid trailing separator 

Обновлено в силу комментария @Pieter Goosen.

 $terms = get_the_terms( $post->ID , 'winetype' ); if($terms) { // check the variable is not empty // compare terms function cmp($a, $b) { return strcmp($b->name, $a->name); // in reverse order to get DESC } // sort terms using comparison function usort($terms, 'cmp'); // get names from objects function my_function($z) { return $z->name; } // map names array using my_function() $term_names = array_map('my_function', $terms); // define separator $separator = ', '; // get string by imploding the array using the separator $term_names = implode($separator, $term_names); echo $term_names; // OR return }