@evgek
_global

Как сформировать посты из текущей категории?

Привет, суть задачи выводить посты в сайдбаре из текущей категории поста.
Ниже код справляется с задачей , но :
1. Выводит посты не алфавитном порядке, а наоборот.
2. Было бы удобно определять пост в котором ты находишься и выделять его жирным в массиве.
Хелп, может у кого было подобное. Гугл пока не помог.
<h3 class="widget-title">category post</h3>
<?php 
global $post;
$categories = get_the_category();
foreach($categories as $category) {
}
$catquery = new WP_Query( 'cat= '.$category->cat_ID.' &posts_per_page=50' ); ?>
<ul>
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
<div class="sidebar_obor">
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
</div>
<?php endwhile;
wp_reset_postdata();  //   http://qaru.site/questions/13455488/wordpress-query-ordering-by-parent-title
?>
  • Вопрос задан
  • 37 просмотров
Решения вопроса 1
Примерно так, писал на коленке, и не проверял, но суть такая:
# id текущей директории
	$categories = get_the_category();
	$cat = $categories[0]->term_id;
	
	$args = array(
		'post_type' => 'post',	// Выводить посты
		'posts_per_page' => 10, // Вывести 10 записей
		'order' => 'DESC', 			// порядок сортировки от большего к меньшему ASC наоборот		
		'cat'	=>	$cat,					// Только из текущей директории
	);

	
	$id_post_current = get_the_ID();
	$query = new WP_Query( $args );
	while ( $query->have_posts() ) { $query->the_post(); ?>
			<a href="<?php the_permalink(); ?>"> <?php
				if( $id_post_current == get_the_ID() ) { 					
					?> <b><?php the_title(); ?></b> <?php
				} else {
					the_title();
				} ?>
			</a> <?php
	}
	wp_reset_postdata(); // сброс	?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
crashxd
@crashxd
Backend разработчик
Ответ написан
Комментировать
@evgek Автор вопроса
_global
Пока ждал, сам допер. Спасибо . Первый вариант тоже работает...
<h3 class="widget-title"> Title</h3>
<?php 
global $post;
$categories = get_the_category();
foreach($categories as $category) {
}
$catquery = new WP_Query( 'cat= '.$category->cat_ID.' &posts_per_page=100&orderby=title&order=ASC' ); ?>
<ul>
<?php while($catquery->have_posts()) : $catquery->the_post(); ?>
 
 
<div class="sidebar_obor">
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
 </div>

<?php endwhile;
    wp_reset_postdata(); 
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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