Список записей в алфавитном порядке по адресу archive.php

У меня есть куча категорий с подкатегориями и подкатегориями, которые я хочу перечислить на моем archive.php . Названия подкатегорий перечислены на странице архива его родительской категории.

Просто перечислите связанные заголовки категорий и / или сообщений, не более того. Все работает отлично, но на последнем шаге я хотел бы заказать фактические посты в алфавитном порядке.

Поэтому у меня есть этот код в моем archive.php

 <?php if (is_category()) { $this_category = get_category($cat); } $this_category = wp_list_categories('orderby=name&depth=1&show_count=0&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID."&echo=0"); if ($this_category && $catlvl !=0) { ?> <ul class="cat_options"> <?php if ($catlvl !=3){ if ($catlvl == 1){ // Do stuff } if ($catlvl == 2){ // Do stuff } } else { // Do stuff $wpex_count = 0; while ( have_posts() ) : the_post(); $wpex_count++; // Get entry title ?> <li> <a href="<?php wpex_permalink(); ?>" title="<?php wpex_esc_title(); ?>" rel="bookmark"><?php the_title(); ?></a> </li> <?php // Reset counter to clear floats if ( wpex_blog_entry_columns() == $wpex_count ) { $wpex_count=0; } endwhile; } ?> </ul> <?php } 

Как это сделать, чтобы он перечислял сообщения в алфавитном порядке на последнем шаге? На страницах, где указаны категории, они находятся в алфавитном порядке.

Могу ли я использовать

 $args = array( 'posts_per_page' => -1, 'orderby'=> 'title', 'order' => 'ASC' ); 

от https://codex.wordpress.org/Alphabetizing_Posts здесь как-то? Как? Или мне нужно получить мои сообщения каким-то другим способом?

Должны быть указаны только записи в текущей категории. Когда я использую метод в ссылке выше, он перечисляет ВСЕ сообщения во ВСЕХ категориях.

Я предлагаю вам использовать action_posts action hook, предоставляемый WordPress.

Затем в вашем файле functions.php добавьте следующий код:

 function custom_pre_get_posts($query) { // validate if(!is_admin() && $query->is_main_query()) { if(is_archive()) { $query->set('orderby', 'title'); // order posts by title $query->set('order', 'ASC'); // and in ascending order } } } add_action('pre_get_posts', 'custom_pre_get_posts'); 

Вы можете узнать больше о pre_get_posts здесь