Вывод значений ACF в Таксаномиях: Категориях и их подкатегориях

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Задача. Необходимо вывести знаения пользовательских полей главной категории на страницах самой категории и ее подкатегориях. Если подробнее — то есть главные категории (без дочерних), к ним добавлены поля ACF, в которые прикрепляем выборочно нужные подкатегории. После чего эти прикрепленные подкатегории должны выводиться на странице самой категории и во всех ее подкатегориях. Получаются такие себе «плитки тегов» (Изображение 1 и 2).

ACF в категрриях товаров
Изображение №1: Пример добавления кастомных полей категорий
Плитки ттегов из категорий
Изображение №2: Пример отображения выбранных подкатегорий в главной категории и ее дочерних

Решение. Настраиваем ACF поля для категорий (или нужных таксономий). Присваиваем в категориях нужные нам значения. В файл functions.php добавляем Код №1.

Недостаток Кода №1 — работает только для главных родительских категорий. Например, у нас структура категорий [Категория 1 — Категория 1.2 — Категория 1.3 — Категория 1.4 — Категория 1.4.1 — Категория 1.4.2]. Если мы присвоим некие значения в Категория 1, то они будут выводиться в ней и ее подкатегориях. А если присвоить значения ACF-полей Категории 1.4, то они выведутся только в Категории 1.4, но в Категории 1.4.1 или 1.4.2 — нет. Все из-за того что мы получаем функцией get_ancestors() массив родительских id и берем сразу последний элемент, т.к. он будет самой старшей родительской категорией. Можно попробовать еще перебрать и проверять массив родительских категорий на наличие ACF-поля.

Код №1: Вывод кастомных полей в таксономии и ее подкатегориях.
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии