Показывать имя дочерней категории ТОЛЬКО внутри цикла

Код ниже работает для моих сообщений от Пользовательский тип сообщения(называется Проповедь) который отображает имя дочерней категории только со своими ссылками.

<?php
$categories = get_the_category();
if ( ! empty( $categories ) ) {
echo '<a href="' . esc_url( get_category_link( $categories[0]->term_id ) ) . '">Child Category : ' . esc_html( $categories[0]->name ) . '</a>';
}
?>

Но это не работает, когда я снова использую его для своих сообщений из самого типа сообщений (Новости категория). Он продолжает отображать родительскую категорию (Новости), пока я не убрал галочку, поэтому он отображает только дочернюю категорию (например, развлечения, политика и т. д.).

Любая помощь будет оценена. Спасибо!

1

Решение

Я решил свою проблему с этой пользовательской функцией, которую я нашел онлайн и немного изменил, чтобы соответствовать моим требованиям.

function the_category_children($slug=""){
$separator = ', ';
$output = '';
if($categories       = get_the_category()):
if($slug_category   = get_category_by_slug($slug)):
foreach($categories as $category):
if (cat_is_ancestor_of($slug_category, $category)):
$output .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '">' . esc_html( $category->name ) . '</a>' . $separator;
endif;
endforeach;
echo trim( $output, $separator );
endif;
endif;
}

И вызывая эту функцию the_category_children (‘category_name’) внутри цикла (content.php). ^ _ ^

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]