Вывод поста в три колонки
Ноя 28th, 2009 | От Aleksey Davlad | Категория: CMS WORDPRESS, ХАКИИз нового на нашел простой способ вывода постов темой Вашего блога в три колонки. Сам не проверял, но достаточно простой и интересный способ. Не очень часто применяемый вариант такого вывода. Естественно, суть доработки состоит в добавлении функций в файл functions.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 29 30 | function my_multi_col_v2($content){ // run through a couple of essential tasks to prepare the content $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); // the first "more" is converted to a span with ID $columns = preg_split('/(<span id="more-\d+"><\/span>)|(<!--more-->)<\/p>/', $content); $col_count = count($columns); if($col_count > 1) { for($i=0; $i<$col_count; $i++) { // check to see if there is a final </p>, if not add it if(!preg_match('/<\/p>\s?$/', $columns[$i]) ) { $columns[$i] .= '</p>'; } // check to see if there is an appending </p>, if there is, remove $columns[$i] = preg_replace('/^\s?<\/p>/', '', $columns[$i]); // now add the div wrapper $columns[$i] = '<div class="dynamic-col-'.($i+1).'">'.$columns[$i].'</div>'; } $content = join($columns, "\n").'<div class="clear"></div>'; } else { // this page does not have dynamic columns $content = wpautop($content); } // remove any left over empty <p> tags $content = str_replace('<p></p>', '', $content); return $content; } |
Затем измените файл style.css:
1 2 3 4 5 | /* dynamic columns */ div.dynamic-col-1 { float: left; width: 38%; padding-right: 2%;} div.dynamic-col-2 { float: left; width: 38%;padding-right: 2%;} div.dynamic-col-3 { float: left; width: 20%;} div.clear { clear: both; } |
В редакторе это выглядит следующим образом:
Сразу оговорюсь - вариант для гурманов. Многие, кто редко сталкивается с дизайном, наверное не поймут зачем такой вывод ( в чем прикол так сказать ). Поэтому показываю внизу с трудом найденный скрин шаблона, в котором реализована такая методика вывода ( и то - это только заготовка CSS с выводом в 2 колонки).




