Вывод постов на главной без использования двух циклов
Ноя 9th, 2009 | От Aleksey Davlad | Категория: CMS WORDPRESS, ХАКИМного тем последнее время выводят различные по виду посты на главной странице. Например, первые три записи выводятся полностью,с изображениями и текстом, а остальные посты показываются более просто или показываются только их названия.
Как правило используются два различных циклов для достижения этой цели, что часто может привести к дальнейшим проблемам. Можно использовать более простой метод.
Но эту проблему можно решить и без использования дополнительного цикла.
Достаточно существующие циклы в файл index.php заменить на приведенные ниже:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php $postnum = 0; while (have_posts()) : the_post(); ?> <?php if ($postnum <= 3){ ?> <div <?php post_class() ?> id="post-<?php the_ID(); ?>"> <div class="date"><span><?php the_time('M j') ?></span></div> <h2>(<?php echo $postnum;?>)<a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2> <div class="post-image" style="text-align:center;"> <a href="<?php the_permalink() ?>"><img src="<?php bloginfo('template_directory' ); ?>/timthumb.php?src=<?php echo catch_that_image(); ?>&w=500&h=200&zc=1" alt="<?php the_title(); ?>" /></a> </div> <p><?php the_content('Read the rest of this entry »'); ?></p> <p class="more"><a href="#">Read More</a></p> </div> </div> <?php } else { <div <?php post_class( 'single ' . $end ); ?> id="post-<?php the_ID(); ?>"> <div class="post-content"> <h3><a href="<?php the_permalink() ?>">(<?php echo $postnum; ?>)<?php the_title(); ?></a> <?php edit_post_link('_', '', ''); ?></h3> <p><?php the_excerpt( '' ); ?></p> <p class="more"><a href="#">Read More ?</a></p> </div> </div><!-- End post --> <?php } endwhile; ?> |
Коротко о действиях:
Мы созданную переменную PHP, с именем $ postnum, которая вызывается в конце цикла. Если $ postnum меньше или равна 3, пост отображается в полном объеме. В противном случае,он отображается как цитата.


