Wordpress the_category () в обратном порядке, чтобы родители были первыми? - PullRequest
1 голос
/ 29 октября 2011

Шаблон, который я использую, вызывает the_category () для получения списка категорий, к которым принадлежит сообщение.По умолчанию они упорядочиваются с именем ребенка, а затем с родителями.Есть ли способ изменить порядок так, чтобы категории были перечислены как родитель, ребенок, второй ребенок?

Ответы [ 2 ]

3 голосов
/ 29 октября 2011

Вы можете отфильтровать get_the_terms и изменить результаты в соответствии с вашими потребностями.Вам нужно будет добавить или удалить фильтр или использовать условное выражение, чтобы изменить его только там, где это необходимо.Вот пример изменения порядка извлеченных терминов.

function reverse_categories($terms, $id, $taxonomy){
    if($taxonomy == 'category'){
        $terms = array_reverse($terms, true);
    }
    return $terms;
}
add_filter('get_the_terms', 'reverse_categories', 10, 3);
0 голосов
/ 26 июля 2013

Вы можете сделать это с помощью одной строки без создания функции / фильтра везде, где вы можете реализовать функцию get_the_category_list ():

implode(', ',array_reverse(explode(',',get_the_category_list(','))))

Измените строку взрыва на одну из ваших, если вы не хотите ",".

Я могу лично подтвердить, что это работает в WordPress 3.5 - но я уверен, что он будет работать практически в любой версии WordpPress начиная с 1.5.2, когда была введена get_the_category_list ().

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