среда, 6 февраля 2013 г.

вывод постов в 2 и 3 колонки в wordpress


Часто приходится применять разбиение на несколько колонок в wordpress.

Напроимер,чтобы вывести ссылки в 2 колонки :

Берем стандартный код

<?php if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="post" id="post-<?php the_ID(); ?>"> <h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка <?php the_title(); ?>"><?php the_title(); ?></a></h2> <small><?php the_time('F j, Y') ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content('Читать дальше »'); ?> </div> <p class="postmetadata"><?php the_category(', ') ?> | <?php edit_post_link('Редактировать', '', ' | '); ?> <?php comments_popup_link('Нет комментариев »', 'Один комментарий »', 'Комментариев: %'); ?></p> </div> <?php endwhile; else : ?> <h2 class="center">Не найдено</h2> <p class="center">Здесь ничего нет, попробуйте поискать:</p> <?php include (TEMPLATEPATH . "/searchform.php"); ?> <?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> <small><?php the_time('F j, Y') ?> <!-- by <?php the_author() ?> --></small> <div class="entry"> <?php the_content('Читать дальше »'); ?> </div> <p class="postmetadata"><?php the_category(', ') ?> | <?php edit_post_link('Редактировать', '', ' | '); ?> <?php comments_popup_link('Нет комментариев »', 'Один комментарий »', 'Комментариев: %'); ?></p> </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; ?>

таблица стилей выглядит так


ВЫВОД В 3 КОЛОНКИ

То же что и в 2 только :


<?php if ($col == 1) echo "</div>"; (($col==1) ? $col=2 : $col=1);  ?>
пишем:
<?php if ($col == 1) echo "</div>"; if($col == 1) {$col = 2;}  else { if($col != 1) { if($col == 3) {$col = 1;} if($col == 2) {$col =  3;} } } ?>
И css:
.row  { clear: both; }
.col1 { width: 130px; float: left; padding: 0 10px; }
.col2 { width: 130px; float: left;  padding: 0 10px; }
.col3 { width: 130px; float: right;  padding: 0 10px; }




Комментариев нет:

Отправить комментарий