WordPress: Вывод постов в две колонки на главной

Не могу не скопипастить себе рабочий метод, с помощью которого можно вывести посты на главной странице сайта на wordpress в две колонки. Спасибо блогу http://blogto4ka.ru

Итак, меняем код в файле index.php используемой темы отсюда:

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>

и до сюда:

<?php endif; ?>

на свой:

<?php $col = 1; ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php if ($col == 1) echo "<div class=\"row\">"; ?>
  <div class="post col<?php echo $col;?>" id="post-<?php the_ID(); ?>">
  <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка <?php the_title(); ?>"><?php the_title(); ?></a></h2>
 
  <p class="postmetadata"><small><span style="float: left;"><?php the_time('j F, Y') ?><?php // the_author() ?></span> <span style="float: right;">Рубрика: <?php the_category(', ') ?> &nbsp; <?php wp_link_pages(array('before' => '', 'after' => '', 'next_or_number' => 'number')); ?>  <?php edit_post_link('Редактировать', '', ''); ?></span></small> <?php // comments_popup_link('Нет комментариев »', 'Один комментарий »', 'Комментариев: %'); ?></p>
  <br clear="all" />
 
  <div class="entry">
  <?php the_content('Читать дальше  »'); ?>
  </div>
  </div>
<?php if ($col == 1) echo "</div>"; (($col==1) ? $col=2 : $col=1); ?>
<?php endwhile; else : ?>
   <h2 class="center">Не найдено</h2>
   <p class="center">Здесь ничего нет, попробуйте поискать:</p>
   <?php include (TEMPLATEPATH . "/searchform.php"); ?>
<?php endif; ?>

А также, обязательно! дописываем в css файле темы стили для наших двух колонок:

.row{clear: both;}
.col1{width: 200px; float: left; padding: 0 10px;}
.col2{width: 200px; float: right;  padding: 0 10px;}

Само собой, ширину этих колонок и другое оформление меняеть очень просто. Повторю, без записей в css результата не будет.

Сегодня этот метод отлично сработал на сайте с WP 2.9.2.
Рекомендую делать бэкапы файлов , где вы делаете правки, на всякий случай.

3.7/5 - (3 голоса)

12 комментариев

Сео-нуб 20.01.2011 Ответить
А как применить вывод постов в две колонки для конкретной категории, очень нада. ответь пож-та
admin 20.01.2011 Ответить
@Сео-нуб, если речь идёт о выводе на главной постов в две колонки из определённой категории, то вот как я это делал. если же вы хотите при просмотре категории видеть посты в ней расположенными в две колонки — то этого я не знаю как сделать (
Сергей 28.10.2011 Ответить
Подскажите, а как реализовать вывод в 4 колонки, очень нужно. Спасибо заранее.
admin 28.10.2011 Ответить
@Сергей, увы, не подскажу (
Мотоциглист 22.12.2011 Ответить
Оченама полезный пост, спасибо ) Стырил себе, пускай народ знает где правда зарыта! 😀 буду ковырять, мб получится вывод в категории…
Мотоциглист 22.12.2011 Ответить
нашел — вывод в 3 колонки:
&lt;?php if ($col == 1) echo &quot;"; if($col == 1) {$col = 2;}  else { if($col != 1) { if($col == 3) {$col = 1;} if($col == 2) {$col =  3;} } } ?&gt;
Мотоциглист 22.12.2011 Ответить
Для разбивки одиночного поста на колонки плагин: http://wordpress.org/extend/plugins/magazine-columns/
Мотоциглист 22.12.2011 Ответить
И плагин для разбивки на колонки, сегодня потестирую =) http://wordpress.org/extend/plugins/easy-columns/
Oleg 06.09.2012 Ответить
Спасибо за код!Все работает нормально даже у чайников.Но еще очень надо, что бы верхний пост выводился на всю ширину, а остальные в две колонки.
Два Бота 17.11.2012 Ответить
@Oleg, Тоже маюсь этой фигней =( @adminsaita — подскажи если знаешь как реализовать?!!
admin 19.11.2012
@Два Бота, увы (
profit 01.11.2012 Ответить
а как одну рубрику разбить на 2 колонки?

Добавить комментарий