RuCoder

Search
Close this search box.
Search
Close this search box.

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

WordPress>WooCommerce

Задача.
Необходимо вывести знаения пользовательских полей главной категории на страницах самой категории и ее подкатегориях. Если подробнее — то есть главные категории (без дочерних), к ним добавлены поля 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: Вывод кастомных полей в таксономии и ее подкатегориях.



Последние Новости...

Больше никаких сообщений для показа

КОНТАКТЫ

RuCoder