Как в WP вывести текст в зависимости от родительской категории поста?

Здравствуйте, помогите пожалуйста с такой задачей:
Есть сайт с категориями:
СТОЛЫ
-Кухонные
-Офисные
--Рабочие
СТУЛЬЯ
-Кухонные
-Офисные
--Для работников
--Директорские

У нас тут две родительские категории Столы и стулья

Как сделать так, что бы на всех страницах (например на странице которая принадлежит к категории Директорские) был текст "Смотрите так же стулья" - где СТУЛЬЯ - это название самого главного родителя вне зависимости от вложенности поста в подкатегории?
  • Вопрос задан
  • 31 просмотр
Пригласить эксперта
Ответы на вопрос 2
san_jorich
@san_jorich
Творческий кодер
Почитайте Wp_Query. Там есть про родителей. Если условие совпадет - выводите.
Можно также с jQuery отлавливать страницу и выводить в какой-либо div
Ответ написан
av-nexter
@av-nexter
function print_root_category() {
	if ( ! is_single() ) {
		return;
	}

	$post_categories = wp_get_post_categories( get_the_ID(), [ 'fields' => 'all' ] );

	if ( ! count( $post_categories ) ) {
		return;
	}

	$post_category = $post_categories[0];

	if ( ! $post_category->parent ) {
		return;
	}

	$parents = get_ancestors( $post_category->term_id, $post_category->taxonomy );

	$root_category_id = array_pop( $parents );

	echo 'Смотрите так же <a href="' . get_category_link( $root_category_id ) . '">' . get_cat_name( $root_category_id ) . '</a>';
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы