Как правильно использовать orderby для изменения запроса WordPress по умолчанию

#wordpress

#wordpress

Вопрос:

Я пытаюсь изменить WordPress по умолчанию, чтобы изменить порядок размещения сообщений на главной странице. Я не могу понять, как использовать orderby параметр. Это то, что я использую:

 add_action( 'pre_get_posts', 'my_custom_query' );

function my_custom_query( $query ) {

    if( $query->is_main_query() amp;amp; ! is_admin() amp;amp; $query->is_home() ) {
        $query->set( 'orderby', 'post_title');
        $query->set( 'order' ,'ASC');   
        $query->set( 'posts_per_page', '3' );
    }
}
  

Работает только posts_per_page параметр, который orderby не изменяется. Я пробовал использовать orderby date, rand, title и т.д.

Комментарии:

1. Попробуйте orderby title вместо post_title

2. попробовал title, он тоже не сработал.

3. любопытно, почему вы хотите изменить запрос по умолчанию… похоже, вы хотите создать какую-то пользовательскую логику на домашней странице? Если это так, просто напишите пользовательский аргумент get_posts и выведите все, что вы хотите, в этом шаблоне. Нет необходимости изменять основной запрос.