Intereting Posts
Как я могу реализовать функцию поиска для сайта членства? show count вне тега привязки в wp_list_categories Отображать пользователей, загруженных в качестве сообщений При попытке обновить самообслуживаемый сайт WordPress я вижу «ASN1 неизвестный алгоритм дайджеста сообщений», API настроек с примером массивов Ошибки разрешения на установку WordPress Next_posts_link () работает только с исходным $ wp_query Добавить пользовательские поля в существующие сообщения (страницы администратора) Как отображать пользовательское поле WordPress только в определенный день недели? Требовать логин для определенных шаблонов Отображение силы WooCommerce для адресов базовых адресов страны Использование wp_get_image_editor в автономном скрипте Как работает боковая панель WordPress Как передать объект категории в функцию, когда is_archive () является истинным? Виджет, в котором он может вносить изменения в контейнер

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

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

  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 "запрос, который чередует текстовые сообщения с изображениями из медиа-галереи"