Коварная война россии против Украины. Ориентировочные потери врага
(по состоянию на 22.04.2024)
460260
солдат
348
самолетов
325
вертолетов
7236
танков
13904
ББМ
11736
артиллерия
768
ПВО
1046
РСЗО
15812
машин
26
корабли и катера
Как показывать связанные статьи для поста в WordPress
Опубликовано

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

 

 

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

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

 

 

 

2 комментария для «Как показывать связанные статьи для поста в WordPress»

  1. Анна

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *