Я будую розділ на сайті, де я об'єдную два різні типи публікацій в один цикл, а потім відображаю їх випадковим чином. Проблема в тому, що мені важко знайти спосіб обмежити кількість публікацій на тип.
Ось що я спробував:
Один запит із кількома типами публікацій може бути досягнутий за допомогою масиву:
$args = array( 'post_type' => array( 'photos', 'quotes' ), ...
... але не може обмежуватися певною кількістю публікацій на тип.
Об'єднання двох масивів аргументів запиту перед запуском WP_Query на ньому:
$photos = array( 'post_type' => 'photos', 'posts_per_page' => 15, 'orderby' => 'rand' ); $quotes = array( 'post_type' => 'quotes', 'posts_per_page' => 5, 'orderby' => 'rand' ); $args = $photos + $quotes; // Also tried array_merge( $photos, $quotes );
Не пощастило в цьому. Що відбувається - остання змінна
$quotes
перезаписується$photos
і показує лише лапки.Об'єднання двох об'єктів WP_Query разом шляхом набору даних:
$photos_query = new WP_Query( $photos ); $quotes_query = new WP_Query( $quotes ); $result = (object)array_merge( (array)$photos_query, (array)$quotes_query );
... і так далі.
Можливо, я міг би використовувати SQL-запит прямо до бази даних, але мені потрібно вміти поєднувати ці два окремі типи публікацій для одного циклу, розташованого випадковим чином, та обмеженого певною кількістю публікацій на тип.
Спасибі за вашу допомогу!