Intereting Posts
Авто вход после регистрации Как подключить одну персонализированную почту post-types к другому? Изменение стандартных пользовательских полей Metabox Name Показ фетальной ошибки после установки плагина Каким образом можно найти и удалить дубликаты изображений из сообщений и медиа-библиотеки? Страница пользовательского архива для пользовательского интерфейса CPT Могу ли я создать (или обновить) пароль пользователя WP-CLI хэшем? Показать последние и последние сообщения в той же категории WP Redirect не работает Как изменить образ от тайного пользователя по умолчанию на странице профиля WP WordPress 3 – как хранятся пароли и как они сравниваются с ними? Как получить подкатегории родителя, если в подкатегории? wp_get_object_terms – Как я могу упорядочить полученный массив по иерархии? Как отредактировать вложение с media-upload.php? какой крючок для отображения страницы списка курсов для плагина learndash?

Как я могу разделить результат запроса на 2 массива?

Я сделал запрос, который дает мне 8 результатов. Мне нужно показать их в 2 столбцах по 4 элемента.

Это мой запрос:

$args = array( 'post_type' => 'event', 'meta_key' => 'date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'posts_per_page' => 8, 'meta_query' => array( 'key' => 'date', 'value' => date('Ym-d',strtotime("today")), 'compare' => '>=', 'type' => 'DATE' ), ); $events = new WP_Query( $args ); 

Я попытался использовать array_splice. Пример :

  $firstCol = array_slice($events, 0, 4, true); $secondCol = array_slice($events, 4, true); 

Но это, похоже, не работает. Как я могу получить 2 массива из моего результата?

Solutions Collecting From Web of "Как я могу разделить результат запроса на 2 массива?"

Нет необходимости разделить массив, вы можете просто закрыть первый div, если вы подсчитали до четырех элементов массива.

 $args = array( 'post_type' => 'event', 'meta_key' => 'date', 'orderby' => 'meta_value_num', 'order' => 'ASC', 'posts_per_page' => 8, 'meta_query' => array( 'key' => 'date', 'value' => date('Ym-d',strtotime("today")), 'compare' => '>=', 'type' => 'DATE' ), ); $events = new WP_Query( $args ); $count = 1; if ( $events->have_posts() ) : ?> <div class="column-1"> <?php while ( $events->have_posts() ) : $events->the_post(); // YOUR CONTENT if ( $count == 4 ) { ?> </div> <div class="column-2"> <?php } $count++; endwhile; wp_reset_postdata(); endif; ?> </div> 

если я действительно понимаю ваш вопрос, поставьте массив в цикле и используйте переменную в качестве счетчика

 $count=0; $firstCol=array(); $secondCol=array(); foreach($events as $event) { $count++; if($count <= 4 ) { array_push($firstCol, $event); } else { array_push($secondCol, $event); } }