Intereting Posts
Поверните галерею коротких штрихов в карусель в WordPress 4.4 Как добавить редактируемые / динамические значения в раскрывающееся меню Meta Box Обновление пользовательского поля с помощью формы переднего конца Возможно ли использовать query_posts, используя post__in, а затем прокручивать их в упорядоченных запросах? Как изменить класс css для определенного формата сообщения? Пагинация внутри страницы редактирования Как получить персонализированный тип заголовка сообщения, выдержку, миниатюру и постоянную ссылку по идентификатору сообщения? Как создать поля Repeater с помощью дополнительных пользовательских полей? Как определить, вызван ли фильтр в контексте боковой панели / виджета? Необходимо вручную зарегистрировать пользователя, отправить пароль и получить идентификатор пользователя Почему результаты поиска неверны в форме поисковых сообщений? Невозможно выбрать определенных авторов для сообщений после импорта. используя несколько запросов с одним $ wpdb отличный стиль для отдельной страницы Как изменить поле в базе данных через кнопку отправки или флажок?

Список get_the_category в иерархическом порядке

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

<?php foreach ((get_the_category()) as $childcat) { if (cat_is_ancestor_of('42', $childcat)) { echo '<li> <a href="'.get_category_link($childcat->cat_ID).'">'; echo $childcat->cat_name . '</a> </li>'; } } ?> 

Я бы хотел, чтобы он выводил как таковой:

  • родитель
    • ребенок
    • ребенок
      • внук

Solutions Collecting From Web of "Список get_the_category в иерархическом порядке"

wp_list_categories этого используйте wp_list_categories ,

 <?php $args = array( 'hierarchical' => true, 'child_of' => 42, //parent category 'hide_empty' => 1, //hide empty categories (set to 0 to show) ); wp_list_categories($args); ?> 

Полный список параметров для wp_list_categories можно найти здесь

Как вы можете видеть, его можно настроить, просто добавив дополнительные аргументы в массив, хранящийся в переменной $args которую мы позже перейдем к функции wp_list_categories .

Примечание. Добавив child_of => ID вы можете указать родительский идентификатор категории, для которой вы хотите получить условия категории. Имейте в виду, что если в родительской категории нет сообщений, они не будут отображаться, и в этом случае вы можете попробовать вместо этого установить hide_empty => 0 .

ОБНОВИТЬ

Ну, вместо того, чтобы писать это с нуля сам, Scribu уже имеет к счастью, поэтому, пожалуйста, взгляните на следующую ссылку для получения более подробной информации;

http://scribu.net/wordpress/extending-the-category-walker.html

Вам нужно отсортировать категории, чтобы убедиться, что они пришли в правильном порядке:

 // get categories of post in sorted order $categories = sortCategories(get_the_category()); function sortCategories($categories) { // Sorting the category usort($categories, "cmpCategories"); return $categories; } function cmpCategories($category_1,$category_2) { // Sort function foreach(get_categories(array("parent" => $category_1->cat_ID)) AS $sub) { if($category_2->cat_ID == $sub->cat_ID) return -1; } return 1; }