На вордпресс-сайте создана кастомная таксономия
"genres" (жанры) для кастомного типа записей "mouvies" (фильмы).
Кастомная таксономия "genres" содержит несколько терминов (элементов):
"melodrama",
"comedy",
"adventure",
"documentary".
*В файле functions.php создано произвольное поле
'zagolovok-of-term-page-of-custom-taxonomy', относящееся к кастомной таксономии "genres":
if( function_exists('acf_add_local_field_group') ):
// zagolovok-of-term-page-of-custom-taxonomy
acf_add_local_field_group(array (
'key' => 'group_5676f09b4150f',
'title' => 'Заголовок страницы',
'fields' => array (
array (
'key' => 'field_5676f17ea0592',
'label' => 'Заголовок страницы',
'name' => 'zagolovok-of-term-page-of-custom-taxonomy',
'type' => 'text',
'instructions' => 'Введите заголовок страницы',
'required' => 1,
'conditional_logic' => 0,
'wrapper' => array (
'width' => '',
'class' => '',
'id' => '',
),
'default_value' => '',
'placeholder' => '',
'prepend' => '',
'append' => '',
'maxlength' => '',
'readonly' => 0,
'disabled' => 0,
),
),
'location' => array (
array (
array (
'param' => 'taxonomy',
'operator' => '==',
'value' => 'genres',
),
),
),
'menu_order' => 0,
'position' => 'normal',
'style' => 'default',
'label_placement' => 'top',
'instruction_placement' => 'label',
'hide_on_screen' => '',
'active' => 1,
'description' => '',
));
// zagolovok-of-term-page-of-custom-taxonomy
// end
endif;
1) В шаблоне taxonomy-genres.php необходимо вывести содержимое произвольного поля 'zagolovok-of-term-page-of-custom-taxonomy'
2) А также в шаблоне taxonomy-genres.php необходимо вывести количество записей, относящихся к конкретному термину (элементу) таксономии "genres"
Для решения двух данных задач в шаблоне taxonomy-genres.php использую следующий код:
<h1>
<!-- Выводим содержимое поля zagolovok-of-term-page-of-custom-taxonomy -->
<?php
// load all 'genres' terms for the post
$terms = get_the_terms( get_the_ID(), 'genres');
// we will use the first term to load ACF data from
if( !empty($terms) ) {
$term = array_pop($terms);
$custom_field = get_field('zagolovok-of-term-page-of-custom-taxonomy', $term );
// do something with $custom_field
echo $custom_field;
}
?>
<!-- Выводим содержимое поля zagolovok-of-term-page-of-custom-taxonomy end -->
</h1>
<div>
<div class="row">
<!-- Количество опубликованных -->
<div class="prop col-md-5 col-lg-6">
Найдено: <?php
$terms = get_terms('genres');
if ( !empty( $terms ) && !is_wp_error( $terms ) ){
echo $term->count;
}
?>
</div>
<!-- Количество опубликованных end -->
</div>
</div>
В результате использования данного кода - обе задачи решаются некорректно: на странице одного элемента таксономии "genres" (например, на странице элемента "melodrama") выводится содержимое произвольного поля 'zagolovok-of-term-page-of-custom-taxonomy' от другого элемента таксономии "genres", а также выводится количество записей, относящихся к другому элементу таксономии "genres"
(то-есть, например, на странице элемента "melodrama" ошибочно выводятся содержимое произвольного поля 'zagolovok-of-term-page-of-custom-taxonomy' и количество записей, относящихся не к этому элементу "melodrama", а к другому элементу из этой же таксономии, например, относящихся к элементу "comedy").
То-есть с помощью кода осуществляется вывод данных, но данные на странице конкретного элемента таксономии ошибочно выводятся не для текущего элемента таксономии, а для другого элемента из этой же таксономии.
Вопрос: как изменить данный код, чтобы исправить возникающее несоответствие? и чтобы в результате:
1) В шаблоне taxonomy-genres.php корректно выводилось бы содержимое произвольного поля 'zagolovok-of-term-page-of-custom-taxonomy'
2) А также в шаблоне taxonomy-genres.php корректно выводилось бы количество записей, относящихся к конкретному термину (элементу) таксономии "genres"