@Aleksander911

Как вывести название категории постов через get_posts()?

Доброго дня всем!
Вывожу посты из определенной категории так:
<?php
global $post;
$args = array( 'posts_per_page' => 3, 'offset'=> 3, 'category' => 18 );
$myposts = get_posts( $args );
foreach( $myposts as $post ){ setup_postdata($post);
?>					
<div class="content column last_news_block">
<a href="<?php the_permalink(); ?>">
<div class="tool-img"><?php the_post_thumbnail( 'mini-events'); ?></div>	
</a>
<h4><?php echo get_cat_name(18);?></h4>
<span class="date_item">
<i class="wait icon"></i>
<span class="day"><?php the_time('j'); ?></span>
<span class="month"><?php the_time('M'); ?></span>
<span class="year"><?php the_time('Y'); ?></span>
</span>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php kama_excerpt('maxchar=70'); ?></p>
<div class="comment_viewe_absol">
<span><i class="unhide icon"></i><?php echo get_post_meta ($post->ID,'views',true); ?></span>
<span><i class="comment icon"></i><?php comments_number('нет', '1', '%'); ?></span>
</div>
</div>
<?php
}
wp_reset_postdata();
?>

В выводе есть заголовок родительской категории от куда собственно выводить статьи.
<h4><?php echo get_cat_name(18);?></h4>
Но статьи также выводятся и из подкатегорий (подрубрик), а название категории выводится родительское.
Как выводить название не родительской категории, а той где находится статья?
  • Вопрос задан
  • 803 просмотра
Пригласить эксперта
Ответы на вопрос 1
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
Используйте get_the_category() внутри вашего цикла foreach, данная функция возвращает массив категорий, назначенных посту. Далее забирайте из массива только объект одной категории, у которой свойство category_parent будет равно вашему 18 - это и будет дочерняя категория.
Ответ написан
Ваш ответ на вопрос

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

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