Intereting Posts
https redirect hell (добавление www) Изменение, где текст «опубликовано» находится в TwentyEleven? Условные аргументы для WP_Query и tax_query в зависимости от того, имеет ли значение $ somevar значение Включение внешнего файла в сообщение (и использование обработанных путей) Переопределить домен cookie для субдоменов Как отобразить размер изображения из поля повторяющихся полей Simple Fields Как вставлять скрипты в порядке раздела Head очистка почтовых метаданных при автосохранении Используйте wp_nav_menu () для отображения меню с другого сайта в сетевой установке? Создать страницу при активации плагина Невозможно редактировать пользовательский тип сообщения Удалить классы из body_class Пользовательский шаблон типа сообщения, но как я могу «связаться с нами» на странице, созданной не для отображения Сколько плагинов кеширования должно использоваться?

Список 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; }