Упорядочить посты по алфавиту с цифрами в заголовке (WP_Query)

Есть сайт на WordPress. Использую вывод постов таким образом:

<?php 
// задаем нужные нам критерии выборки данных из БД
$cat_id = get_cat_ID('courses_cat');
$args = array(
    'cat' => $cat_id,
    'post_type' => 'courses',
    'order' => 'ASC',
    'orderby' => 'title',
);

$query = new WP_Query( $args );

// Цикл
if ( $query->have_posts() ) {
    while ( $query->have_posts() ) {
        $query->the_post();
        echo '<li>' . get_the_title() . '</li>';
    }
} else {
    // Постов не найдено
}
// Возвращаем оригинальные данные поста. Сбрасываем $post.
wp_reset_postdata();
?>

Мне выводит таким образом (даже в админке):

Курс 1
Курс 10
Курс 2
Курс 3
Курс 4
Курс 5
Курс 6
Курс 7
Курс 8
Курс 9

Как упорядочить таким образом?

Курс 1
Курс 2
Курс 3
Курс 4
Курс 5
Курс 6
Курс 7
Курс 8
Курс 9
Курс 10

Ответы (1 шт):

Автор решения: Valerii Vasiliev

Сортировка по заголовку в данном случае будет работать некорректно, потому что в заголовке микс букв и цифр

Необходимо использовать сортировку через порядковый номер menu_order

'order' => 'ASC',
'orderby' => 'menu_order'

добавить поддержку его в редактирование поста

add_action( 'init', 'add_page_attributes_support' );

function add_page_attributes_support() {
    add_post_type_support( 'courses', 'page-attributes' );
}
→ Ссылка