Не правильно ставится id из таксономии. Как исправить?

Делаю фильтр для карточек и на каждом из фильтров есть своя таксономия, которая называется так же, как и название фильтра.
Вот пример двух блоков(Они все одинаковые, просто имеют разные названия и не стал вставлять все):
<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 ставятся автоматом на весь список, как и хотел (размыто, но видно справа код):
nDiOJCq9OkA.jpg
А у карточек id ставится совсем другой и у всех одинаковый. Ну по моему коду понятно почему одинаковый) (Выделил жирным для удобства как я сейчас вывожу id на карточках).

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

Заранее большое спасибо за то, что вы хотя бы подумали как мне помочь! ))
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы