Швидше за все, у вас у блозі є записи, які ви хотіли б виділити. Зазвичай їх називають "Вибраними записами" або "Вибраним контентом" (Featured Posts, Featured Content). Якщо ви використовуєте WordPress, відображення цих вибраних записів може бути досягнуто різними способами, один із них — використання плагіна на кшталт Jetpack.
Jetpack - Це набір можливостей для вашого WordPress-сайту. На момент написання цього посібника таких можливостей було близько 30, у тому числі WordPress.com Stats, Photon, Нескінченний сувій, а також те, на що ми сьогодні звернемо увагу – блок Рекомендований вміст. Приступимо.Дивіться також:
Додаємо підтримку теми
Оновлення: у Jetpack 3.7 форма для обраного контенту знаходиться у розділі Зовнішній вигляд → Меню.
Перше, що вам потрібно зробити, додати функцію add_theme_support у ваш файл functions.php:
add_theme_support( 'featured-content', array( 'featured_content_filter' => 'mytheme_get_featured_content', ));
Після додавання ви побачите нову форму для вибраного контенту на сторінці Параметри → Читання.
Вкажіть тег для обраного контенту, встановіть скільки записів ви хочете показувати, і поставте галочку в чекбоксі, якщо хочете приховати цей тег від відвідувачів блогу. Надайте цей тег тим записам у блозі, які ви хочете відзначити як обрані.
Відображення контенту
Для відображення контенту у блозі ми додамо кілька рядків коду. Як приклад у цьому посібнику я використовуватиму тему TwentyTwelve.
Зазвичай вибраний контент відображається на головній сторінці. Якщо ваша тема дотримується стандартної структури теми WordPress, за головну сторінку відповідає файл index.php, home.php, або передня сторінка.php.
Відкрийте 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>
В index.php ми викличемо цей шаблон за допомогою 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, ми отримаємо хороший блок вибраного контенту:
Сподіваємося, ви знайдете це керівництво корисним.
Коментарі до запису: 2
Не працює.
А через плагін Jetpack пробували?