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

 

 

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

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

 

 

View Comments

  • Ешкин кот, как сложно. Это все для программистов? А плагин какой то есть?

Recent Posts

Обзор WordPress 7.0 «Armstrong»: Новая эра ИИ и масштабная перестройка Core-архитектуры

20 мая 2026 года официально состоялся релиз долгожданной мажорной версии WordPress 7.0 «Armstrong», названной в…

2 дня ago

History Hijacking: Почему Google наказывает за «сломанную» кнопку Назад и как защитить сайт с помощью CSP

Каждый владелец сайта и SEO-специалист ведет ежедневную упорную борьбу за удержание пользователя на страницах вебресурса.…

3 дня ago

Интернет-магазин без лишнего функционала: как не переплатить за разработку на старте

Многие предприниматели сталкиваются с одной и той же проблемой. После утверждения бюджета разработка затягивается, появляются…

4 дня ago

Как выбрать детские бутсы для футбольной секции и не ошибиться с типом подошвы

Футбольная секция быстро показывает, насколько обувь подходит ребенку. Если пара скользит, давит или плохо цепляется…

5 дней ago

Флагманский смартфон: почему стоит купить Samsung Galaxy S26 Ultra

Компания Samsung — один из лидеров на рынке электроники. Ее смартфоны выделяются надежностью, качественными дисплеями,…

5 дней ago

Глагол dar в испанском языке: значение, спряжение и особенности использования

Испанский язык привлекает миллионы людей своей мелодичностью, эмоциональностью и относительной простотой изучения. Одним из важнейших…

2 недели ago