Как разбить стандартный цикл WordPress?
Вот скрин это то, что нужно сделать.
Т.е. мне нужно разделить цикл записи .
Например первые 2 записи имеют один дизайн, 3 запись другой дизайн, 4,5,6 другой дизайн и т.д.
Прошу подсказать, куда копать. Спасибо за любую помощь!
1) стилями на основе http://htmlbook.ru/CSS/nth-child
2) Javascript на основе нужного вам алгоритма он будет добавлять классы этим блокам, ну а блоки будут иметь стилизацию под эти классы
3) в самом шаблоне в цикле wordpress добавить алгоритм.
и еще множеством способов, все зависит от вашей фантазии
Улыбнулся! )) Ну конечно нужно сам цикл делить, поэтому и спрашиваю как его можно поделить на разные части?
$posts = get_posts( параметры запроса ); // или $query = new WP_Query( параметры запроса ); $posts = $query->posts; // В $posts теперь массив с постами, бери из него все что нужно по-очереди $top_posts = array_slice( $posts, 0, 2 ); // 2 штуки $mid_posts = array_slice( $posts, 2, 1 ); // 1 штука $bot_posts = array_slice( $posts, 3 ); // все остальные global $post; // top foreach( $top_posts as $post ){ setup_postdata( $post ); // вывод } // middle foreach( $mid_posts as $post ){ setup_postdata( $post ); // вывод } // bottom foreach( $bot_posts as $post ){ setup_postdata( $post ); // вывод } wp_reset_postdata();Спасибо за Ваш ответ! Давно читаю Ваш сайт, знаю, что Вы гуру Вордпресс. Попробовал применить Ваш код не получилось, может я неверно объяснил, что требуется.
Раньше я выводил записи кодом в category.php
---while ( have_posts() ) : the_post();---
шаблон вывода записи
---endwhile;---
Теперь нужно грубо говоря тоже самое вывести, но как бы делить записи, что нужно разделить записи have_posts() ) : the_post();
Чтобы сохранялась так же постраничная навигация по этой категории и т.д. Такое возможно реализовать? Чтобы было ясно. вот ссылка на сайт https://collectionsalon.ru/blog/ сюда я пока вставил чистую вёрстку, вот её и нужно оживить.
если особо не страдать и лень что-то выдумывать то можно так
а так как и говорили выше на сколько хватит фантазии все в ваших руках
Простите, вот глупый я, не понимаю как реализовать, уже что только не пробовал. Я вот для облегчения сделал вырезку html кода этого блока. Может кто подскажет как это реализовать? Готов финансово отблагодарить.
Вот решение! Если кому-нибудь будет интересно
Вот такую сетку сделал так:
<?php global $wp_query; $paged = get_query_var('paged') ? get_query_var('paged') : 1;?> <?php $num_posts = get_query_var('paged') ? $wp_query->found_posts % ($paged*12 - 12) : $wp_query->found_posts; ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post();?> <?php if ( $wp_query->current_post == 0 ):?> <div class="grid"> <div class="article big"> <div class="thumb"> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('category_big'); ?></a> </div> <div class="date"><?php the_time("d.m.Y"); ?></div> <div class="name"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </div> <div class="source"> <div class="label">Author: </div> <div class="val"> <span><?php the_author(); ?></span> </div> </div> <div class="desc"><?php the_excerpt(); ?></div> </div> <?php elseif ( $wp_query->current_post == 1 || $wp_query->current_post == 2 || $wp_query->current_post == 3 ): ?> <div class="article"> <div class="thumb"> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('category_small'); ?></a> </div> <div> <div class="date"><?php the_time("d.m.Y"); ?></div> <div class="name"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </div> <div class="source"> <div class="label">Author: </div> <div class="val"> <span><?php the_author(); ?></span> </div> </div> </div> </div> <?php endif; ?> <?php if ( $wp_query->current_post == 3 || ($num_posts < 4 && $num_posts == $wp_query->current_post+1)): ?> </div> <?php endif; ?> <?php if($wp_query->current_post == 4): ?> <div class="line_sep"></div> <div class="row"> <?php endif; ?> <?php if ( $wp_query->current_post > 3): ?> <div class="article"> <div class="thumb"> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('category_small'); ?></a> </div> <div class="date"><?php the_time("d.m.Y"); ?></div> <div class="name"> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> </div> <div class="source"> <div class="label">Author: </div> <div class="val"> <span><?php the_author(); ?></span> </div> </div> </div> <?php endif; ?> <?php if ( $wp_query->current_post == 11 || ($num_posts >= 5 && $num_posts == $wp_query->current_post+1)): ?> </div> <?php endif; ?> <?php endwhile; ?> <?php endif; ?>