@inna97
начинающий верстальщик

Как правильно отсортировать записи таксономии в файле archive.php?

На сайте есть таксономия с каталогом товаров. Не WooCommerce...
В файле archive-catalog.php формируется каталог товаров. Сортировка по умолчанию/по дате внесения.
Мне нужно отсортировать по наименованию товара. Или title или по мета-боксу (плагин AFC).
Функция wp_list_sort делает сортировку по title. Вот только в пределах одной страницы.
Для каталога стоит пагинация <?php the_posts_pagination();?> и каждая страница сортируется отдельно. А мне нужна сортировка по всему массиву каталога. Как можно это сделать?
<div class="catalog_arhiv">		
<?php $posts = wp_list_sort( $posts, 'post_title', 'ASC', 1 ); ?>
							
	// Цикл
	<?php 
	if ( have_posts() ) {
	while ( have_posts() ):
	        	the_post();		
?>									

<div class="catalog__block" >										
   <div class="catalog__img">											
	<?php echo get_the_post_thumbnail(get_the_ID()); ?>											
  </div>
  <a href="<?php echo get_permalink(); ?>" target="_blank">
	<div class="catalog__title">
		<?php the_field('product_name'); ?>	
	</div>
   </a>								
</div>
<?php
	endwhile;						
	} else {// Постов не найдено
	}
        // Возвращаем оригинальные данные поста. Сбрасываем $post.
	wp_reset_postdata();
?>				
</div>										
<?php the_posts_pagination();?>
  • Вопрос задан
  • 199 просмотров
Пригласить эксперта
Ответы на вопрос 1
pavel_ataykin
@pavel_ataykin
Верстаю и программирую всякое.
Привет! Можно сделать через WP_Query.
Вот так будет выглядеть запрос с сортировкой по нужному ключу. Поля AFC нужно будет добавлять через мета значение. Подробнее про WP_Query тут https://wp-kama.ru/function/wp_query
$posts = new WP_Query([
        // Сортировка
        'order'     => 'ASC',
        'orderby' => 'title'
        // Номер страницы пагинации(устанавливать текущий)
        'paged' => 2
    ])
Ответ написан
Ваш ответ на вопрос

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

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