студия занимательная МИХАЛИКА
! Михалика - запросто с WordPress:
доступная ручная работа по правилам оптимального интернет(а)
Здравствуйте !

издатель:   в теме: В теме: Без плагинов
студия занимательная МИХАЛИКА

Как на сайте сделать вывод статей в две колонки…

Многие начинающие web-мастера, создав свой первый сайт, задаются вопросом: а как бы теперь сделать вывод статей в блоге в две или три колонки – на главной странице или категориях. Ведь бывает же так, когда тема выбрана, есть уже масса наработок, но вдруг мы понимаем, что необходим двухколоночный вывод записей. В самом деле, не искать же себе другой шаблон… теряя время и труд. Нет…

 

…мы поступим проще, сами решим эту задачу, да и опыта поднаберёмся.


Выводим статьи в две колонки с картинкой

 

 

 

И сегодня мы как раз и узнаем, как запросто реализовать двухколоночный вывод статей на сайте.

 

 

Не стану много разглагольствовать, для этого у меня есть и иные статьи, WordPress и его настройка — но приступлю непосредственно к делу разъяснения.
Я покажу пару решений вывода двух колонок статей, одно простенькое, а другое несколько сложнее — тем, что нужно будет редактировать файл CSS. А поэтому пригодятся, хотя бы базовые знания HTML … пройдите, если сомневаетесь, по ссылке и ознакомьтесь, с понятиями CSS — HTML, CSS, PHP — отличия

 

 

Приступим…

 

 

 

Простой способ вывода статей в две колонки в разделе категории

 

 

 

…он замечателен тем, что всё достаточно просто. С помощью добавления к записи еще одного класса, через фильтр… мы и решим нашу задачу. Просто открывайте файл вашей темы functions.php и перед знаком ?> прописывайте следующий код.

 

 

add_filter('post_class','category_two_column_classes');
function category_two_column_classes( $classes ) {
global $wp_query;
if( is_category() ) :
$classes[] = 'two-column-post';
if( $wp_query->current_post%2 == 0 ) $classes[] = 'two-column-post-left';
endif;
return $classes;
}

 

 

 

Внимание! в этой функции выполняется условие — if( is_category() ) : которое обусловлено тем, что класс будет добавлен лишь в разделе «категории». Это значит на других страницах (index.php, search.php и т.д.) двухколоночный вывод выполняться не будет. Но можно сделать и иначе, к примеру, поправить функцию и заменить условия вывода – только на главной.
Нам останется только поменять строки…

 

 

 

if( is_category() ) :

 

на…

 

if( is_home() ) :

 

 

Но если вам захочется вывести колонки только в определённой категории, то
…в скобках необходимо прописать ID категории… (номер)

 

 

if( is_category('2') ) :

 

 

Рекомендую посмотреть пост, в нём я подробнее рассказываю о правильном варианте добавления div классов к показанным выше кодам: тем самым вы заставите свой сайт геометрически правильно отрабатывать колоночное решение статей на разных расширениях экранов.

 

 

 

 

Безусловный вывод колонками на всех страницах

 

 

 

 

add_filter('post_class','category_two_column_classes');
function category_two_column_classes( $classes ) {
global $wp_query;
$classes[] = 'two-column-post';
if( $wp_query->current_post%2 == 0 ) $classes[] = 'two-column-post-left';
return $classes;
}

 

 

 

А теперь правим файл стилей style.css – добавляем этот код куда-нить в самый конец документа.

 

 

 

.two-column-post { width: 47%; float: left; margin-left: 5.9%; }
.two-column-post-left { clear: left; margin-left: 0; }

 

 

 

ГДЕ … width: 47%; ширина (процентная) самих колонок. Здесь можно экспериментировать.

 

 

 

 

Безусловный вывод колонками на всех страницах — В ТРИ КОЛОНКИ

 

 

 

 

add_filter('post_class','category_three_column_classes');
function category_three_column_classes( $classes ) {
global $wp_query;
if( is_category() ) :
$classes[] = 'three-column-post';
if( $wp_query->current_post%3 == 0 ) $classes[] = 'column-post-left';
endif;
return $classes;
}

 

 

Что забавно, эта функция легко изменяема. Достаточно поменять оперативное число (оператор) и вывод в несколько колонок будет заказан в функции…
Ну и вот примерные стили CSS

 

 

.three-column-post { width: 30%; float: left; margin-left: 4.9%; }
.column-post-left { clear: left; margin-left: 0; }

 

 

– всё как обычно.

 

 

 

вывод категорий в две колонки — способ — 2

 

 

 

 

В этом случае нужно будет кропотливее поправлять код CSS под вашу тему – тем он и сложен) Но думаю, в принципе, и тут ничего сложного нет… на первый взор))
Для начала, в том файле, который отвечает за вывод нужной вам категории, пропишите вот этот код. Теперь, в определённой (нужной вам, для вывода колонками статей) задана функция вывода …

 

 

<div class="cat-colum" <?php post_class() ?> id="post-<?php the_ID(); ?>">
			<div class="demopost">
				<div class="img-post">
					<a href="<?php the_permalink() ?>"><?php echo get_the_post_thumbnail( $post->ID, 'thumbnail'); ?></a>
				</div>
				<div class="topcatposti">
					<time class="datecat"><?php the_time( get_option( 'date_format' ) ); ?></time>
				</div>
				<h2><a href="<?php the_permalink() ?>" rel="bookmark"  <?php the_title(); ?>"><?php the_title(); ?></a></h2>
				<?php the_excerpt(); ?>
				<div class="postcatfooter">
					<div class="fright"><a class="readmore" href="<?php the_permalink() ?>"><?php _e( 'Далее' ); ?></a></div>
			</div>
		</div>

 

 

 

И итог: в файл CSS прописываем этот код:

 

 

 

.demopost {
background:#fff;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
margin: 0 10px 20px 0;
padding: 15px;
width: 250px;
}
.cat-colum{
background: none;
display: inline-block;
vertical-align: top;
}
.img-post img{
width: 100%;
height: auto;
max-width: 100%;
}
.postcatfooter{
margin-top:10px;
height: 35px;
}
.datecat {
color: #999;
font-family: verdana;
font-size: 15px;
}
.topcatposti {
margin:15px 0;
}

 

 

Но, после этой нашей работы, следует сказать: все эти способы только принципиальные решения задачи вывода колонок, и новичку будут полезны только в плане знакомства с машинкой WordPress и изучения кода, но !! конечно же, проще и правильнее просто подобрать нужный вам шаблон.

 

 

 

Кому интересно, можете пройти по ссылке и взглянуть как реализован показанный в статье код на рабочем сайте.

 

 


подписка feedburner МИГ подписки - ВРЕМЯ знаний!!

 

 

 


Если что-то не ясно, спрашивайте. Помогу… в чём дюжу.
Вместе мы многое сможем! Берегите себя и свой век - mihalica.ru


Нажатия на кнопочки определяют Ваше высокое гражданское сознание
Удачи в работе и творчестве..!


меточная навигация:


Комментарии © 2 к статье: Как на сайте сделать вывод статей в две колонки…

  1. Здравствуйте! А у Вас на том примерном сайте работает вывод двух колонок и во всех архивах: в рубриках и метках! Мне бы сделать только в метках, возможно ли это? и как это сделать? Подскажете…

    Ответить - Сергей

    • Привет, Сергей!
      Да, возможно реализовать такую задачу, чтобы только в метках делилось…
      Если Вы используете 1-й вариант кода для вывода колонок, то всё достаточно просто отрегулировать условиями «!» или, к примеру, для более тонко-настраемого вывода на отдельных страничках, просто повторите приведённый в статье пример кода для вывода if( is_tag() ): архива меток.
      Почитайте и ЭТУ статейку относительно CSS: полезно!

      Ответить - Михаил

Поделитесь соображениями: Ваши мысли очень важны! $ правила комментирования ©

Ваш e-mail не будет опубликован. Обязательные поля помечены *