Intereting Posts
Отображение признака изображения страницы ребенка ребенка Отображение div, когда сообщение имеет определенный тег Показать идентификатор сообщения в поле «Найти сообщения или страницы» в Media Library? Две таблицы стилей, действующие на один элемент Meta_Query отказывается возвращать результаты Все страницы после уровня 1 показывают 404 после плагина миграции WordPress – как исправить? Дата публикации в поле «Пользователь» add_rewrite_rule () vs $ wp_rewrite-> правила vs 'rewrite_rules_array'? Ограничить доступ в области wp-admin? WooCommerce & Caching Лучший способ сохранить постмета Распечатать название категории публикаций из пользовательского типа wordpress Сообщение об ошибке Add_menu_page () -> «У вас недостаточно прав для доступа к этой странице» Как отделить вывод подменю и поддерживать связь с родительским Представленные пользователем обзоры различных пользовательских типов сообщений

Статьи WP_Query упорядочиваются по смещению в столбцах

Код ниже хочет показать список статей в двух столбцах.

<?php $i = 0; $the_query = new WP_Query( 'showposts=35&offset=0' ); while ($the_query -> have_posts()) : $the_query -> the_post(); $i++; ?> <?php if ($i == "1") { ?> <div style="padding-top: 10px; float: left; width: 50%;"> <?php the_title(); ?> <?php } ?> <?php if (in_array($i, array(3,4,5,6,7,8,9,10))) { ?> <?php the_title(); ?> <?php } ?> <?php if ($i == 10) { ?> </div> <?php } ?> <?php if ($i == "2") { ?> <div style="padding-top: 10px; float: right; width: 50%;"> <?php the_title(); ?> </div> <?php } ?> <?php endwhile;?> 

Проблема в том, что статья с $ i = 2 появляется ниже статьи с $ i = 1. Это не тот порядок, который я использовал в приведенном выше коде.

Как я могу упорядочить статьи в этом порядке?

PS: мои статьи с $ i = 2 появляются в первом столбце (выравнивание слева) тоже из-за </div> после статьи с $ i = 10.

Если у вас есть какие-то вопросы, или если вы не понимаете, я здесь.

РЕДАКТИРОВАТЬ:

Мой код:

 <?php $the_query = new WP_Query( 'showposts=35&offset=0' ); while ($the_query -> have_posts()) : $the_query -> the_post(); $titles[] = get_the_title(); $excerpts[] = get_the_excerpt(); endwhile; ?> 

Чтобы отобразить первую статью:

 <?php echo $titles[0]; echo "<br/>"; echo $excerpts[0]; ?> 

Является ли код выше ok для скорости сервера?

Solutions Collecting From Web of "Статьи WP_Query упорядочиваются по смещению в столбцах"

Отделите столбы в двух разных массивах, затем выполните цикл по отдельности:

 $columns = array ( 'first' => array (), 'second' => array () ); $first_column = array( 1, 3, 4, 5, 6, 7 ); // separation foreach ( $the_query->posts as $index => $post ) { if ( in_array( $index + 1, $first_column ) ) $columns[ 'first' ][] = $post; else $columns[ 'second' ][] = $post; } unset ( $post ); // render one column echo 'First column<br>'; foreach ( $columns[ 'first' ] as $p ) { print $p->ID . get_the_title( $p ) . '<br>' . get_the_post_thumbnail( $p->ID ) . '<br>'; } // render the next column echo 'Second column<br>'; foreach ( $columns[ 'second' ] as $p ) { print $p->ID . get_the_title( $p ) . '<br>' . get_the_post_thumbnail( $p->ID ) . '<br>'; } 

Вы также можете попробовать гораздо проще:

 @media screen and (min-width : 640px){ .home ul.index > li{ display:inline-block; clear:none; } .home .index > li:nth-child(odd){ width:50%; float:left; border:1px solid #fff; clear:both; } .home .index > li:nth-child(even){ width:46%; float:right; border:1px solid #fff; }} то и @media screen and (min-width : 640px){ .home ul.index > li{ display:inline-block; clear:none; } .home .index > li:nth-child(odd){ width:50%; float:left; border:1px solid #fff; clear:both; } .home .index > li:nth-child(even){ width:46%; float:right; border:1px solid #fff; }}