Сортировка сообщений на странице архива заказов WordPress по названию — подробное руководство

function custom_sort_archive_by_title($query) {
  if (is_archive() && $query->is_main_query()) {
    $query->set('orderby', 'title');
    $query->set('order', 'ASC');
  }
}
add_action('pre_get_posts', 'custom_sort_archive_by_title');

Метод 2: использование класса WP_Query
Другой подход — создать собственный объект WP_Query с нужными параметрами сортировки. Этот метод дает вам больше гибкости и контроля над запросом. Вот пример фрагмента кода:

$args = array(
  'post_type' => 'post',
  'orderby' => 'title',
  'order' => 'ASC',
);
$custom_query = new WP_Query($args);
if ($custom_query->have_posts()) {
  while ($custom_query->have_posts()) {
    $custom_query->the_post();
    // Display your post content here
  }
  wp_reset_postdata();
}

Метод 3: использование специального плагина.
Если вы предпочитаете более модульный подход, вы можете создать собственный плагин, который добавляет опцию сортировки в интерфейс администратора страницы архива. Таким образом, вы можете легко переключаться между различными вариантами сортировки, не изменяя файлы темы. Вот упрощенный пример кода:

function add_custom_sorting_option() {
  add_filter('manage_edit-post_sortable_columns', 'register_custom_sortable_column');
}
function register_custom_sortable_column($columns) {
  $columns['post_title'] = 'Title';
  return $columns;
}
add_action('admin_init', 'add_custom_sorting_option');