Изменить фильтр сообщений, чтобы установить индивидуальное количество сообщений на странице и исключить дочерние сообщения

У меня есть пользовательский тип сообщения, называемый «галереи», который является иерархическим.

Я использую функцию в моем файле functions.php для изменения количества сообщений, отображаемых на странице, до 48. Эта часть работает нормально, но мне также нужно, чтобы она исключала все дочерние сообщения, так что составляли только родительские сообщения верхнего уровня 48 сообщений вытащили за страницу. Вот текущий код:

function projects_custom_number_of_posts( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( is_post_type_archive( 'galleries' ) ) { // Display 48 posts for a custom post type called 'galleries' $query->set( 'posts_per_page', 48 ); return; } } add_action( 'pre_get_posts', 'projects_custom_number_of_posts', 1 ); 

Как я могу изменить компонент $query->set чтобы также ограничивать сообщения только родительскими сообщениями верхнего уровня? Я попробовал следующее, но это порождает ошибку:

  function projects_custom_number_of_posts( $query ) { if ( is_admin() || ! $query->is_main_query() ) return; if ( is_post_type_archive( 'galleries' ) ) { // Display 48 posts for a custom post type called 'galleries' $query->set( array ('posts_per_page'=>48, 'post_parent'=>0) ); return; } } add_action( 'pre_get_posts', 'projects_custom_number_of_posts', 1 ); 

Solutions Collecting From Web of "Изменить фильтр сообщений, чтобы установить индивидуальное количество сообщений на странице и исключить дочерние сообщения"