Делаю фильтр для карточек и на каждом из фильтров есть своя таксономия, которая называется так же, как и название фильтра.
Вот пример двух блоков(
Они все одинаковые, просто имеют разные названия и не стал вставлять все):
<div class="advanced-filter_item filter-disactive simple-filter_item">
<p class="rus">Язык обучения</p>
<p class="eng hide">language of education</p>
<?php
$categories = get_terms('language', 'orderby=name&hide_empty=0');
if($categories){
echo '<select id="language"><option value="card-item">Любой</option>';
foreach ($categories as $cat){
echo "<option value='language-{$cat->term_id}'>{$cat->name}</option>";
}
echo '</select>';
}
?>
</div>
<div class="advanced-filter_item filter-disactive simple-filter_item">
<p class="rus">Программа</p>
<p class="eng hide">Program</p>
<?php
$categories = get_terms('program', 'orderby=name&hide_empty=0');
if($categories){
echo '<select id="program"><option value="card-item">Любая</option>';
foreach ($categories as $cat){
echo "<option value='program-{$cat->term_id}'>{$cat->name}</option>";
}
echo '</select>';
}
?>
</div>
Здесь видно, что я вывожу список программ и языков из таксономии с именем и индивидуального для него id.
А здесь сам блок карточки:
<?php $query = new WP_Query( 'post_type=program-card' ); ?>
<?php while ( $query->have_posts()):$query->the_post(); ?>
<div class="card-item level-<?php the_field('card_level-id'); ?> direction-<?php the_field('card_direction-id'); ?> university-<?php the_field('card_university-id'); ?> program-<b><?php
$categories = get_terms('program', 'orderby=name&hide_empty=0');
if($categories){
echo "{$cat->term_id}";
}
?> language-<?php the_field('card_language-id'); ?></b>">
// Здесь какой-то контент (Не важно, что внутри, важны классы выше)
</div>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
Сейчас фильтр работает так, что он подбирает из своего значения соответствующий ему класс в карточке. Т.е. если у program value="program-1096", значит и у карточки должен быть класс точно такой же: class="program-1096". Фильтр определит и высветит карточку, которую ты выбрал из списка.
В ОБЩЕМ сейчас у меня id ставятся автоматом на весь список, как и хотел (размыто, но видно справа код):

А у карточек id ставится совсем другой и у всех одинаковый. Ну по моему коду понятно почему одинаковый) (Выделил жирным для удобства как я сейчас вывожу id на карточках).
Помогите, пожалуйста, сделать одинаковые id и у карточки и у подходящего для него названия в фильтре :)
Напоминаю, что сейчас у программ выводится совсем другой id, не как у карточки, и у каждого он ещё и одинаковый.
P.S. Важно!(Возможно :) ) Я вывожу карточки через wp all import(pro). Потому что их более 500 и вручную очень долго. Если нужно будет показать как я вывожу через импорт, то напишите в комментариях.
Заранее большое спасибо за то, что вы хотя бы подумали как мне помочь! ))