Как показывать связанные статьи для поста в 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; ?>

 

 

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

Надеемся, что сегодняшний урок вам пригодиться!

 

 

Recent Posts

Ошо

Уже поздно возвращаться назад, чтобы все правильно начать, но еще не поздно устремиться вперед, чтобы… Read More

23/05/2021

Шпаргалка по временным формам глагола в английском языке

В английском языке очень сложная система времен (временные формы глагола – Verb Tenses), которая относится… Read More

17/05/2021

Теория цвета – советы для вдохновения веб-дизайнерам

Вы когда-нибудь задумывались о том, как веб-дизайнеры подбирают идеальное сочетание цветов? Интересовались тем, какие цвета… Read More

30/04/2021

Как стать фрилансером – действенные советы

Фриланс – это возможность спокойно и размеренно работать дома, не обращая внимания на окружающее пространство,… Read More

27/04/2021

Самые красивые каньоны со всего мира (часть 1/2)

На протяжении многих сотен тысяч, или даже миллионов лет, быстрое течение рек подтачивало и вымывало… Read More

27/04/2021

Уильям Шекспир

Грехи других судить вы так усердно рветесь, начните со своих и до чужих не доберетесь… Read More

18/04/2021