Плагин Advanced Custom fields (ACF) очень полезен тем, что можно добавлять и выводить на страницах сайта на WordPress свои произвольные поля. Например, у нас сайт книжного магазина и нам нужны несколько отдельных полей для добавления года выпуска книги, жанра, обложки и прочее. Так вот ACF позволяет добавить такие поля в редактор записи с последующим выводом его в самой записи.
Для вывода полей на официальной странице плагина приведены коды. Но они не работают когда необходимо вывести произвольные поля в таксономиях (рубриках, метках). Подсмотрел код вывода произвольных полей при помощи плагина ACF на страницах таксономий у webkab.ru.
Вот сам код вывода произвольных полей на страницах рубрик, меток или произвольных таксономий:
1 2 3 4 5 6 |
<?php $queried_object = get_queried_object(); $taxonomy = $queried_object->taxonomy; $term_id = $queried_object->term_id; the_field('tag-description', $taxonomy . '_' .$term_id); ?> |
Здесь tag-description
— это то самое название произвольного поля которое указывается при его создании в плагине.
Но такой вариант будет выводить данные даже если произвольное поле не заполнено, по какой-то причине. Это не всегда удобно, поэтому нужно выводить код только тогда, когда данное поле что-то содержит.
Код проверки произвольного поля и последующего вывода содержимого:
1 2 3 4 5 6 7 8 |
$queried_object = get_queried_object(); $taxonomy = $queried_object->taxonomy; $term_id = $queried_object->term_id; if( get_field('tag-description', $taxonomy . '_' .$term_id) ): ?> the_field('tag-description', $taxonomy . '_' .$term_id); ?> endif; |
Из последнего кода я убрал повторяющуюся часть «$queried_object….->term_id;». И так работает.
Код работает — проверял.
1 2 3 4 5 6 7 8 9 |
## Вывод ACF поля на странице категории товаров /* (global $post - если вывод происходит вне цикла) */ global $post; $category = get_queried_object()->term_id; $images = get_field('acf_imgs_cat', 'product_cat_'.$category); # End |