Плагин 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
10
11
|
## Вывод ACF поля на странице категории товаров
/* (global $post – если вывод происходит вне цикла) */
global $post;
$category = get_queried_object()–>term_id;
$images = get_field(‘acf_imgs_cat’, ‘product_cat_’.$category);
# End
|