Як показувати пов’язані публікації для посту в 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; ?>

 

 

Тепер можете сміливо відкрити свій сайт і перевірити роботу цього коду.

Сподіваємось, що сьогоднішній урок стане вам у нагоді!

 

 

This post was last modified on 29/01/2018 20:21

Останні пости

Конфуцій

Коли вам здасться, що мета недосяжна, не змінюйте ціль — змінюйте свій план дій Конфуцій…

12/05/2024

Чарльз Дарвін

Виживає не найсильніший і не найрозумніший, а той, хто найкраще пристосовується до змін Чарльз Роберт…

11/05/2024

Що таке тег canvas в HTML5 і для чого він потрібен?

Елемент <canvas> з’явився лише в HTML5 і використовується для динамічного малювання графіки на веб-сторінці з…

10/05/2024

Ден Браун

Можливо все, — неможливе просто потребує більше часу Ден Браун  

09/05/2024

Що включає в себе чистка ноутбука?

Ноутбук — це не тільки зручний і функціональний ґаджет, а й доволі делікатний пристрій, що…

08/05/2024

Аль Пачино

Ніколи нічого нікому не пояснюйте. Все одно кожен зрозуміє так, як йому вигідно Аль Пачино…

07/05/2024