Отображение пользовательского типа записи в алфавитном порядке


Я создал пользовательский тип записи, в котором теперь около 100 записей. Я просто хочу отобразить их в алфавитном порядке по названию сообщения, а не по умолчанию, которое кажется самым последним первым. Я пробовал различные плагины и другие решения, но большинство из них допускают только ручную сортировку (для этого слишком много сообщений), мне сказали, что приведенный ниже код должен работать, но, похоже, он вообще не действует.

Любая помощь приветствуется.

<?php 
    $args = array( 'post_type' => 'tenant', 'posts_per_page', 'orderby=title&order=ASC' => 5 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
?>
Author: toomanyairmiles, 2011-09-15

2 answers

Попробуйте это:

<?php 
$args = array( 'post_type' => 'tenant', 'posts_per_page'=>5, 'orderby'=>'title','order'=>'ASC');
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>

Более подробную информацию о пользовательских запросах вы найдете здесь: http://codex.wordpress.org/Class_Reference/WP_Query

 8
Author: Maciej Kuś, 2011-09-15 22:51:33

Я понимаю, что это старая тема, но я наткнулся на нее, пытаясь сделать то же самое, и остановился на добавлении действия перед запросом с помощью functions.php вместо шаблона и цикла.

В моем случае; У меня есть страница примерно из 25 занятий йогой, настроенная как пользовательский тип сообщения "классы"

// function and action to order classes alphabetically

function alpha_order_classes( $query ) {
    if ( $query->is_post_type_archive('classes') && $query->is_main_query() ) {
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' );
    }
}

add_action( 'pre_get_posts', 'alpha_order_classes' );
 6
Author: shipwreck, 2014-04-14 17:16:47