/ Дизайн / Построение записей сайта

Построение записей сайта

HIT

05.12.2015

3968

Можно по разному располагать записи рублики, например: плиткой или списком. Также сделаем механизм по переключению режимов представления постов.

Верстка плиткой

HTML

<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
<div class="hentry-box">

<a href="<?php the_permalink(); ?>">
<?php if( has_post_thumbnail() )
{the_post_thumbnail(square);}
else
{echo '<img src="'.get_bloginfo("template_url").'/images/img-default-square.jpg" />';}
?>
</a>
<h2 class="title-post"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php if( get_the_tag_list()): ?><?php the_tags( '<small>', ' / ', '</small>' ); ?><?php endif; ?>

<div class="post-info"><small>
<hr class="line-wt">
<i class="fa fa-user"></i> <?php the_author(); ?><br>
<i class="fa fa-clock-o"></i> <?php echo get_the_date(); ?><br>
<i class="fa fa-comment"></i> <?php comments_number('0', '1', '%'); ?>
</small></div>

</div>
</div>

CSS

.hentry-box {
    float: left;
    display: block;
    position: relative;
    width: 18%;
    padding: 5px; /*padding: 2%;*/
    margin: 15px 1%;
    box-shadow: 2px 2px 6px #ccc;
    background-color: whitesmoke; /*rgba(25, 25, 25, 0.5);*/
    border: 1px solid #FFFFFF;
    box-sizing: border-box;
    transition: background-color 0.5s ease;
    -webkit-transition: background-color 0.5s ease 0s;
}

@media (max-width:1280px) { .hentry-box {width: 23%;} }
@media (max-width:1024px) { .hentry-box {width: 29.33333%; margin: 15px 2%;} }

.hentry-box:hover {background-color: #fff;}

.hentry-box small {text-align:center;}
.hentry-box small a {color: coral;}

.hentry-box img {
  width: 100%;
  height: auto;
}

.hentry-box .line-cont {
float: left;
width: 100%;
}

.hentry-box .title-post {
padding: 5px 0 10px 0;
text-align: center;
font-size: 18px;
}

.hentry-box .excerpt {display: none;}

.post-info {
width: 100%;
color: #FF9C9C;  
float:left;
color: #111;  
}

.post-info .fa {color: #FF9C9C;}
При верстке плиткой, можно добавлять скрипт динамического выравнивания блоков по высоте

Верстка линиями html

CSS

.hentry-line {
    margin-bottom: 10px;
    float: left;
    display: block;
    width: 100%;	
	padding: 1%;
    box-shadow: 2px 2px 6px #ccc;
    border: 1px solid #FFFFFF;
    box-sizing: border-box;
    transition: background-color 0.5s ease;
    -webkit-transition: background-color 0.5s ease 0s;
}

.hentry-line img {
    width: 17%;
    height: auto;
    float: left;
    margin-right: 3%;
}


.hentry-line .line-cont {
float: left;
width: 80%;
}

.hentry-line .title-post {
  padding: 0;
  text-align: left;	 
  font-size: 22px;
}

.hentry-line small {
text-align: left;
}

.hentry-line .excerpt {
    display: block;
    float: left;
    width: 100%;
    padding: 20px 0;
}

@media (max-width:1440px) { .hentry-line img {width: 20%;} .hentry-line .line-cont {width: 77%;} }
@media (max-width:1280px) { .hentry-line img {width: 22%;} .hentry-line .line-cont {width: 75%;} }
@media (max-width:1024px) { .hentry-line img {margin-right: 6%;} .hentry-line .line-cont {width: 72%;} }

Переключение видов

Подключаем скрипты: jquery.cookie.min.js (базовый скрипт) и скрипт site-choice-view-post.js

$(document).ready(function(){   

$("#btn-line, #btn-block, #btn-photo, #btn-column").click(function(){ 

$('.hentry').addClass('animated fadeIn'); 
setTimeout(function () {  $('.hentry').removeClass('animated fadeIn');   }, 500);

});

/* localStorage */

$("#btn-block").click(function(){

$(".hentry").removeClass("hentry-line hentry-photo hentry-column");
localStorage.setItem('construct', 'blocks');

});

$("#btn-line").click(function(){

$(".hentry").removeClass("hentry-box hentry-photo hentry-column");	
$(".hentry").addClass("hentry-line");		 			 
localStorage.setItem('construct', 'lines');

});

$("#btn-photo").click(function(){

$(".hentry").removeClass("hentry-line hentry-box hentry-column");
$(".hentry").addClass("hentry-photo");
localStorage.setItem('construct', 'photo');

});

$("#btn-column").click(function(){

$(".hentry").removeClass("hentry-line hentry-box hentry-photo");
$(".hentry").addClass("hentry-column");
localStorage.setItem('construct', 'column');

});



	if(localStorage.getItem('construct') == 'blocks') {
		        $(".hentry").removeClass("hentry-line hentry-photo hentry-column");
    }

    if(localStorage.getItem('construct') == 'lines') {
		        $(".hentry").removeClass("hentry-box hentry-photo hentry-column");
                $(".hentry").addClass("hentry-line");
    }
	
	if(localStorage.getItem('construct') == 'photo') {
				$(".hentry").removeClass("hentry-line hentry-box hentry-column");
				$(".hentry").addClass("hentry-photo");
    }

	if(localStorage.getItem('construct') == 'column') {
				$(".hentry").removeClass("hentry-line hentry-box hentry-photo");
				$(".hentry").addClass("hentry-column");
    }	
	
}); 



// Перезагрузка высоты блоков

$( '#btn-block, #btn-line, #btn-photo, #btn-column, .list_tabs2 li:first-child' ).click(function(){
		  $(".hentry").css("height", "auto");
          $(".hentry").setEqualHeight();
});

Работает это все на основе cookies. Теперь создаем функцию шорткода кнопок переключения (либо можно их вывести в любом месте и без шорткода):

function sitechoiceviewpost() {
	
echo '<div id="style-list">';
echo '<span id="btn-block"><i class="fa fa-th-large"></i></span>';
echo '<span id="btn-line"><i class="fa fa-bars"></i></span>';
echo '<span id="btn-photo"><i class="fa fa-picture-o"></i></span>';
echo '<span id="btn-column"><i class="fa fa-bars fa-rotate-90" aria-hidden="true"></i></span>';
echo '</div>';

}

add_shortcode( 'choice-view-post', 'sitechoiceviewpost' );

Этот же функционал, только заточенный для товаров Woocommerce.

[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Блочная верстка сайта

Блочная верстка сайта

Сайт должен верстаться по сетке блоками. При использовании сетки разметка сайта выглядит гармонично. Предлагаю свой простой вариант верстки блоков. Для добавления блоков, используйте тэги <div class="box"> <div class="block-1">Содержимое</div> — ширина Читать далее »

Галерея изображений Masonry

Галерея изображений Masonry

Masonry — это принцип построения изображений (блоков) занимая все пространство, по аналогии со строительной кладкой. Галерея изображений Masonry jquery Вставляем изображения в общий div с классом grid, каждое изображение в Читать далее »

/
Одинаковая высота блоков

Одинаковая высота блоков

Одинаковая высота блоков является насущной проблемой при разработке дизайна сайта, средствами css это делать не удобно, т.к. требует специальной верстки. Отлично с данной задачей справляется jQuery. Скрипт EqualHeight Скрипт для Читать далее »

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

Notice: Функция WP_Styles::add вызвана неправильно. Стиль с дескриптором "editor-buttons" был поставлен в очередь с незарегистрированными зависимостями: dashicons. Дополнительную информацию можно найти на странице «Отладка в WordPress». (Это сообщение было добавлено в версии 6.9.1.) in /home/t/tiberi6w/opttour.ru/public_html/wp-includes/functions.php on line 6170

Пока нет комментариев. Будь первым!

Построение записей сайта
Ajax форма с вложением файла
Рекомендации для васAjax форма с вложением файлаOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.