У меня есть этот код, который находится на странице search.php и извлекает все категории для каждого сообщения и выводит ссылку на первую категорию:
$category = get_the_category(); //print_r($category);
if ($category) {
echo '<a href="' . get_category_link( $category[0]->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category[0]->name ) . '" ' . '>' . $category[0]->name.'</a> ';
Что мне нужно сделать, так это использовать аналогичный код, но он получает самую дочернюю/самую глубокую категорию в массиве?
Это распечатанный массив:
[0] => stdClass Object
(
[term_id] => 170
[name] => ACS Series Suspended & Crane Scales - EC Approved
[slug] => uwe-acs-series-suspended-crane-scales
[term_group] => 0
[term_taxonomy_id] => 170
[taxonomy] => category
[description] =>
[parent] => 3
[count] => 4
[object_id] => 1578
[cat_ID] => 170
[category_count] => 4
[category_description] =>
[cat_name] => ACS Series Suspended & Crane Scales - EC Approved
[category_nicename] => uwe-acs-series-suspended-crane-scales
[category_parent] => 3
)
[1] => stdClass Object
(
[term_id] => 3
[name] => Crane Scales
[slug] => crane-scales
[term_group] => 0
[term_taxonomy_id] => 3
[taxonomy] => category
[description] =>
[parent] => 0
[count] => 53
[object_id] => 1578
[cat_ID] => 3
[category_count] => 53
[category_description] =>
[cat_name] => Crane Scales
[category_nicename] => crane-scales
[category_parent] => 0
)
Как видите, у одной категории parent->3, а у другой — parent->0. Как мне использовать приведенный выше запрос, чтобы распечатать ссылку только для категории с parent-> 3?
Это, вероятно, довольно просто, но это немного выше моей головы. Любая помощь будет принята с благодарностью!
Спасибо
Дэйв
Если вы хотите показать то же самое для одного сообщения в 2020 году, вы можете проверить мой ответ здесь: wordpress.stackexchange.com/questions/10510/…
Может ли get_category_parents() быть полезным? Он выводит список всех иерархических родителей данной категории.
получил результат при переполнении стека, который сработал благодаря @poelinca. код ниже, если у кого-то еще есть такая же проблема:
Добавьте эту функцию в файл theme/functions.php:
Затем скажем, как в вашем примере в теме/search.php, вы делаете
@chip bennett, спасибо за ваш вклад, я пробовал это, но изо всех сил пытался заставить его работать так, как мне нужно (удаление разделителей).
Спасибо,
Дэйв