Как вывести важные записи в WordPress

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Наверняка на вашем блоге есть статьи, на которые бы вы хотели обратить внимание ваших читателей. Если вы используете WordPress, то вывести эти записи можно несколькими способами, в том числе и плагином Jetpack.

featured-cover[1]

Jetpack состоит из чик, найденных на просторах сайта WordPress.com. На время написания статьи он содержит 30 функций, включая WordPress.com Stats, Photon, Infinite Scroll, и то, о чем мы поговорим сейчас, Featured Content. На нем и остановимся подробнее.

Добавляем поддержку в тему

Примечание: В версии Jetpack 3.7 Featured Content находится в разделе Внешний вид > Customize Menu.

Первым делом необходимо добавить функцию add_theme_support в файл functions.php вашей темы.

add_theme_support( 'featured-content', array(
	'featured_content_filter' => 'mytheme_get_featured_content',
));

После того, как вы добавили ее, появится новая форма, Featured content на странице Параметры > Чтение

add-theme-support[1]

Указываем название тега для ваших популярных записей, устанавливаем количество записей для отображения и отмечаем галочку, чтобы тег не появлялся на вашем блоге. Задаем записям, которые необходимо указать как Важные этим тегом.

Выводим контент

Мы добавим несколько строк кода для вывода важного контента в нашей теме. Для примера будет использоваться стандартная тема ВП TwentyTwelve.

Обычно важные записи отображаются на главной странице. Если ваша тема разработана по стандартам тем для WordPress, то за вывод главной страницы будут отвечать файлы index.php, home.php, или front-page.php.

Открываем strong>functions.php и добавляем следующую функцию для поддержки важных записей и кладем их в массив.

function twentytwelve_get_featured_content() {
	apply_filters( 'twentytwelve_featured_content', array() );
}

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

function twentytwelve_get_featured_content( $num = 1 ) {
	global $featured;
	$featured = apply_filters( 'twentytwelve_featured_content', array() );

	if ( is_array( $featured ) || $num >= count( $featured ) )
		return true;

	return false;
}

Условие выше отобразит важный контент, если хоть одна запись является таковой и если страница не разбита на подстраницы (не является второй страницей).

В дополнение к этому, мы можем задать новый размер миниатюр для важных записей. На этом примере мы создаем новый размер 250 на 160 пикселей. Следующий код можно добавить где-нибудь после add_theme_support( ‘post-thumbnail’ ).

add_theme_support( 'post-thumbnails' );
add_image_size( 'twentytwelve-featured-thumb', 250, 160, true );

Теперь давайте создадим новый шаблон под названием featured.php и добавим этот код для вывода важного контента в правильной структуре HTML.

<div class="featured-post clearfix">
	<figure class="post-thumbnail">
		<?php if ( has_post_thumbnail() ) { the_post_thumbnail('twentytwelve-featured-thumb'); } ?>
	</figure>
	<div class="post-entry">
		<h3 class="post-title"><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h3>
	    <?php the_excerpt(); ?>
	</div>
</div>

В файле мы вызовем этот шаблон с помощью функции get_template_part() и добавим его в цикл следующим образом:

<?php if ( twentytwelve_get_featured_content(1) ) : ?>
	<div id="featured">
		<h2><?php _e( 'Featured Content', 'twentytwelve' ); ?></h2>
		<?php foreach ( $featured as $post ) : setup_postdata( $post ); ?>
			<?php get_template_part( 'featured', get_post_format() ); ?>
		<?php endforeach; ?>
	</div>
<?php endif; ?>

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

По всем вопросам и отзывам просьба писать в комментарии ниже.

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

VN:F [1.9.22_1171]

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии