Як показувати пов’язані публікації для посту в WordPress
Показник відмов на сайті – це відсоток відвідувачів сайту, які полишають ваш сайт через деякий час, а не продовжують переглядати інші сторінки вашого сайту. Це один із досить важливих показників СЕО-просування та ранжування в пошукових системах.
Одним із способів знизити показник відмов на сайті є відображення пов’язаних публікацій для даного посту. Так ви пропонуєте вашим читачам не покинути одразу сайт, а продовжити читання інших статей. Цим самим, також, досягається і збільшення кількості переглядів сторінок.
У цій статті ми розкажемо вам, як можна легко показувати пов’язані публікації в WordPress без допомоги плагіна.
Пов’язані публікації в WordPress без плагіна
За допомогою цього коду ви будете робити вибірку із бази даних постів, які мають таку ж категорію, як і поточний пост. Створіть у папці активної теми WordPress файл-шаблон із назвою loop-related-posts.php
та наступним вмістом:
<?php $orig_post = $post; global $post; $categories = get_the_category($post->ID); if ($categories) { $category_ids = array(); foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id; $args=array( 'category__in' => $category_ids, 'post__not_in' => array($post->ID), // тут ми можемо виключити вибірку статей по їх ID 'posts_per_page'=> 10, // обмежуємо кількість статей для показу 'ignore_sticky_posts' => 1, 'orderby'=>'rand' // робити вибірку із бази даних рандомно (випадково) ); $my_query = new wp_query( $args ); if( $my_query->have_posts() ) {?> <div class="related-posts"> <h3><?php _e('Related posts','sebweo'); ?></h3> <div class="row"> <div class="col-lg-12"> <div class="related-post-items"> <?php while( $my_query->have_posts() ) { $my_query->the_post(); ?> <div class="related-post-one"> <a itemprop="url" href="<?php the_permalink();?>" title="<?php printf('%s', the_title_attribute('echo=0')); ?>" rel="bookmark"> <?php if (has_post_thumbnail()) { $image = wp_get_attachment_image_src(get_post_thumbnail_id(), 'thumbnail'); ?> <img src="<?php echo $image[0]; ?>" alt="<?php the_title_attribute(); ?>" /> <?php } ?> </a> <div class="related-post-title"> <a itemprop="url" href="<?php the_permalink();?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'sebweo' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="bookmark"><?php the_title(); ?></a> </div> </div> <?php } ?> </div> </div> </div> </div> <?php } } $post = $orig_post; wp_reset_query(); ?>
Тепер нам потрібно підключити цей шаблон у шаблоні одиночного посту. Для показу одиночного посту служить файл-шаблон single.php
у папці активної теми, наприклад, /wp-content/themes/ТЕМА/
.
Відкрийте цей файл і додайте у потрібному місці підключення шаблону для пов’язаних постів. Як правило, пов’язані пости додають у кінці статті, тому підключайте шаблон перед закриттям циклу:
<?php while ( have_posts() ) : the_post(); ?> <?php // контент статті ?> <?php // підключаємо блок пов’язаних статей ?> <?php endwhile; ?>
Шаблон підключається функцією WordPress:
<?php get_template_part( $slug, $name ); ?>
де $slug
– перша частина назви, а $name
– друга частина назви
В нашому прикладі, щоб підключити шаблон loop-related-posts.php
ми повинні викликати наступне:
<?php get_template_part( 'loop', 'related-posts' ); ?>
Тож, шматок коду у файлі single.php
буде мати наступний вигляд:
<?php while ( have_posts() ) : the_post(); ?> <?php // контент статті ?> <?php // підключаємо блок пов’язаних статей ?> <?php get_template_part( 'loop', 'related-posts' ); ?> <?php endwhile; ?>
Тепер можете сміливо відкрити свій сайт і перевірити роботу цього коду.
Сподіваємось, що сьогоднішній урок стане вам у нагоді!