У меня есть структура категорий с 5 уровнями глубины.при возврате категорий для сообщения эти категории расположены не в определенном порядке.Мне нужно найти последнюю дочернюю категорию для поста.
$categories = get_the_category(); $last_category = $categories[0]; foreach($categories as $i => $category) { if($category->parent == $last_category->cat_ID) { $last_category = $category; } }
Возможно, вы захотите попробовать wp_get_object_terms
Если у вас есть $post_ID, просто позвоните wp_get_object_terms($post_ID).Он возвращает массив с каждой категорией для этого поста, ссылаясь на родителей и детей.
$post_ID
wp_get_object_terms($post_ID)
Если вы используете их в цикле, вы можете попробовать это:
<?php the_category("", "single"); ?>
Ссылка: the_category
===== ОБНОВЛЕНО =====
вне цикла:
<?php the_category("", "single", $post->ID); ?>