Добавление различных текстовых полей в нижний колонтитул каждой категории с помощью расширенного плагина настраиваемых категорий в wordpress - PullRequest
0 голосов
/ 07 мая 2020

Я часами пытался отобразить расширенное настраиваемое поле в области нижнего колонтитула, чтобы изменить текст категории в соответствии с каждой категорией. Как только я выхожу из области действия файла content-ecp. php, идентификатор категории изменяется.

При использовании $product_cat_id in the_field('content_under_products', $product_cat_id);?> для получения данных поля ..

Я не могу получить правильный идентификатор, в котором хранится содержимое поля. Правильный ID будет (1034), но я получаю (108). Я знаю, я мог бы изменить код на the_field('content_under_products', 1034);?>, но это будет работать только для одной конкретной страницы c, что не имеет большого смысла в ширину.

Должен быть способ выбрать другой МНЕ БЫ. К сожалению, я очень мало знаю о php. Так что мне не удалось придумать правильное решение с идентификатором сообщения Dynami c.

Я был бы очень рад, если бы кто-нибудь мог мне с этим помочь.

Вот ссылка на страницу: https://praesenteente.de/geldgeschenke/ Я в основном состоит из:

КАТЕГОРИЯ ЗАГОЛОВОК И ОПИСАНИЕ (здесь поле может отображаться правильно)

ПРОДУКТЫ WOOCOMMERCE

ФУТЕР (здесь он не отображается)

1 Ответ

0 голосов
/ 07 мая 2020

Похоже, у вас есть доступ только к вашему $ product_cat_id внутри файла content-ecp. php.

Я думаю, что есть ошибка c, которую вы должны проверить: страницы содержимого для отдельных просмотров, поэтому, когда есть идентификатор для одного сообщения / страницы, и вы хотите, чтобы они выглядели одинаково для всех отдельных сообщений.

Страница архива просматривает коллекцию сообщений. Имя вашей переменной PRODUCT_cat_id, использующее не множественное число продуктов, позволяет предположить, что вы устанавливаете значение переменной следующим образом:

$product_cat_id = get_the_ID();

Таким образом, идентификатор текущего просматриваемого сообщения сохраняется в переменной. Это нормально работает на отдельной странице, но не в архивах.

Когда вы просматриваете категорию, у вас есть идентификатор для термина, который вы просматриваете. Например, категория называется «категория», и теперь вы просматриваете «обувь», что является термином категории. Вы можете получить идентификатор термина текущей страницы термина категории просмотра, используя:

$cat_term_id = get_queried_object()->term_id;

Теперь вы сохранили идентификатор термина категории. С этим идентификатором теперь вы можете получить текст описания вашей категории, который является метаполем в термине вашей категории.

$cat_description = get_field('content_under_products', $cat_term_id );

Это работает, если ваше поле «content_under_products» является полем, добавленным с помощью acf к категориям. Думаю, это именно то, что вы ищете.

Если я неправильно понял ваш вопрос, и вы просто хотите показать описание самого архива (а не термины категории / таксономии), вы можете просто используйте:

$archive_description = get_the_archive_description();

https://developer.wordpress.org/reference/functions/the_archive_description/

...