Intereting Posts
Как скрыть или переименовать ссылки «X» и «x-child» в источнике веб-сайта? WordPress Walker – две группы? Добавить фильтр не работает с get_posts WordPress позволяет нескольким пользователям иметь одинаковый идентификатор электронной почты; и у меня проблема с этим! Добавить структуру экрана Сохранение структуры категории posts_per_page не работает Переадресация сайта на http://example.com/wp-signup.php?new=example.com Выполните несколько update_user_meta с помощью одной функции Как добавить данные о времени? Исключает сообщения, которые не имеют вложений в файле__состоянии () Показывать конечную точку пользовательского сообщения в REST API, только если пользователь имеет возможность Форма контакта, подтверждение значения поля выпадающего списка Записи Autodelete, которые имеют слово в заголовке по категории cerain Может ли WordPress использоваться / расширяться как сайт электронной коммерции среднего размера? мета-запрос, не получающий сообщения

запрос, который чередует текстовые сообщения с изображениями из медиа-галереи

Я пытаюсь создать настраиваемый шаблон страницы, который отображает:

  1. Липкий пост

  2. Случайное сообщение с категорией «текст»

  3. Случайная вставка из медиа-галереи (не прикрепленная к сообщению) с категорией «фото».

  4. Случайное сообщение с категорией «текст»

… и т. д., пока не будет больше текстовых сообщений. На этом этапе страница должна отображать фотографии в случайном порядке, пока их больше нет.

Несколько вещей: я использую плагин («Категории медиабиблиотеки»), который позволяет мне назначать категории элементам в медиатеке. Все сообщения на этой странице установлены внутри ползунка jquery.

Нижеприведенный код основан на решении, описанном здесь: Пользовательский запрос – альтернативные сообщения по категориям . Это было бы отлично, если бы я пытался возвращать изображения, которые находятся внутри сообщений (я сначала протестировал его таким образом), но он не смог успешно извлечь вложения из медиа-библиотеки, не прикрепленной к сообщениям.

<?php $sticky_post = get_option( 'sticky_posts' ); $args1 = array( 'post_type' => 'post', 'orderby' => 'rand', 'category_name' => 'text', 'post_status' => 'published', 'post__not_in' => $sticky_post, 'posts_per_page' => -1, 'fields' => 'ids' ); $query1 = get_posts( $args1 ); $new_posts_array1 = []; if( $query1 ) { $counter1 = 0; foreach ( $query1 as $post ) { $new_posts_array1[$counter1++ * 2] = $post; } unset( $post ); } $args2 = array( 'post_type' => 'attachment', 'category_name' => 'photo', 'orderby' => 'rand', 'post_status' => 'any', 'post__not_in' => $sticky_post, 'posts_per_page' => -1, 'fields' => 'ids' ); $query2 = get_posts( $args2 ); $new_posts_array2 = []; if( $query2 ) { $counter2 = 0; foreach ( $query2 as $post ) { $new_posts_array2[($counter2++ * 2) + 1] = $post; } unset( $post ); } $new_posts_array = $new_posts_array1 + $new_posts_array2; ksort( $new_posts_array ); $q = array_merge( $sticky_post, $new_posts_array ); ?> <div id="content-slider" class="royalSlider contentSlider"> <?php $args = array( 'post_type' => array('attachment', 'post'), 'posts_per_page' => -1, 'post__in' => $q, 'ignore_sticky_posts' => 1, 'orderby' => 'post__in', ); $query = new WP_Query( $args ); if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); the_content(); } wp_reset_postdata(); }?> </div><!-- close royalSlider--> 

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

Возможно ли, что этот подход возможен с помощью вложений в медиа-галерею? Если нет, есть ли другой способ достичь той же цели?

Спасибо за любой совет.

Solutions Collecting From Web of "запрос, который чередует текстовые сообщения с изображениями из медиа-галереи"