@stepahryukin

Изображения для категорий все одинаковые, почему?

Всем привет! Столкнулся с такой проблемой. Нужно на главной странице вывести категории статей в виде картинок. Нашел решение по этой ссылке . Одна проблема, на всех категориях отображается только ода картинка, а не разные. Подскажите пожалуйста в чем проблема?
Вот код вывода категорий
<section class="container pt-3">
	<div class="row mt-5 mb-5 text-light">	
		<?php
			$categories = get_categories(array(
			     orderby' => 'name',
				'order' => 'ASC',
				'type' => 'post'
			);
			foreach( $categories as $category ){
			?>
			<div class="work col-3 mt-1 pr-1 item">
				<div class="copywriter">
					?php
					echo '<a class="rounded border border-light p-2" href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
$term_id = get_queried_object_id();
// получим ID картинки из метаполя термина
$image_id = get_term_meta( $term_id, '_thumbnail_id', 1 );
$image_url = wp_get_attachment_image_url( $image_id, 'full' );
// выводим картинку на экран
echo '<img src="'. $image_url .'" alt="" />';
?>
</div>
</div>
<?php
}
?>
</div>
</section>


Спасибо за помощь
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ответы на вопрос 1
azerphoenix
@azerphoenix
Java Software Engineer
В вашем коде, как минимум есть много синтаксических ошибок.
Исправленный вариант без синт. ошибок:

<section class="container pt-3">
  <div class="row mt-5 mb-5 text-light">
  	<?php
	      $categories = get_categories(array(
	           'orderby' => 'name',
		        'order' => 'ASC',
		        'type' => 'post'
	      ));
    ?>
    <?php foreach( $categories as $category ){ ?>

	<div class="work col-3 mt-1 pr-1 item">
        <div class="copywriter">

        	<?php echo '<a class="rounded border border-light p-2" href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>';
				$term_id = get_queried_object_id();
				// получим ID картинки из метаполя термина
				$image_id = get_term_meta( $term_id, '_thumbnail_id', 1 );
				$image_url = wp_get_attachment_image_url( $image_id, 'full' );
				// выводим картинку на экран
				echo '<img src="'. $image_url .'" alt="" />';
			?>

        </div>
    </div>

	<?php } ?>

  </div>
</section>


А дальше уже надо смотреть работает или нет
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы