Сделать петлю в алфавитном порядке

У меня простой цикл, но он возвращает его в любом порядке. То, что я ищу, – это алфавит в цикле. Я пробовал несколько разных вещей, но не могу заставить его работать.

<?php // Start the loop. while ( have_posts() ) : the_post(); // Include the page content template. get_template_part( 'content', 'grid-projects' ); // End the loop. endwhile; ?> 

Solutions Collecting From Web of "Сделать петлю в алфавитном порядке"

Вы должны изменить запрос и добавить аргумент orderby указанный как name . Я бы пошел на действие pre_get_posts ( см. Документацию ) с некоторыми условными тегами, чтобы выбрать запрос для правильной страницы.

Например:

 function change_posts_order($query) { if($query->is_home() && $query->is_main_query()) { // edit to match the desired page $query->set('orderby', 'name'); $query->set('order', 'ASC'); } } add_action('pre_get_posts', 'change_posts_order'); 

это то, что сработало для меня. работает угощение.

 $child_pages = new WP_Query( array( 'orderby' => 'name', 'order' => 'ASC', 'cat' => '41' ) ); while ( $child_pages->have_posts() ) : $child_pages->the_post(); get_template_part( 'content', 'grid-projects' ); endwhile; wp_reset_postdata();