Створюємо “Схожі Записи” без плагіна
Напевне, часто ви і самі бачили подібне на інших сайтах і не раз знаходили щось цікаве, за допомогою “Схожих Записів “.
Незважаючи на те, що існує велика кількість плагінів, які виводять схожі записи (наприклад: “Yet Another Related Posts“, “Related Posts Thumbnails” ), я все ж надаю перевагу кодові, надіюсь зрозуміло чому :)
На мою думку, непотрібно пояснювати навіщо така функція для вас, як власнику сайта та читачеві, тому перейдемо відразу до суті.
Для початку відкриємо functions.php вашої теми. У кінець файла вставляємо один з наступних кодів:
Схожі записи по категоріям (виводить схожі записи з категорії де знаходиться допис):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function digatalart_cat_rel_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), 'showposts'=> 5, // Кількість записів, які виводяться. 'caller_get_posts' => 1 ); $my_query = new wp_query($args); if($my_query->have_posts()){ echo '<ul id="relPost">'; while($my_query->have_posts()){ $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } else{ echo '<p>Інші записи по темі відсутні.</p>'; } wp_reset_postdata(); } } |
Схожі записи по тегу (виводить схожі записи по тегам з всіх категорій):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
function digatalart_tag_rel_post(){ global $post; $tags = wp_get_post_tags($post->ID); if($tags){ $tag_ids = array(); foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id; $args = array( 'tag__in' => $tag_ids, 'post__not_in' => array($post->ID), 'showposts'=>5, // Кількість записів, які виводяться. 'caller_get_posts'=>1 ); $my_query = new wp_query($args); if($my_query->have_posts()){ echo '<ul id="relPost">'; while($my_query->have_posts()){ $my_query->the_post(); ?> <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li> <?php } echo '</ul>'; } else{ echo '<p>Інші записи по темі відсутні.</p>'; } wp_reset_postdata(); } } |
Все, що нам залишається, так це вписати наступний код. Для цього заходимо в файл single.php вашої теми і вказуємо місце де вони будуть виводитися.
Вивід по категоріям:
1 2 3 |
<?php digatalart_cat_rel_post(); ?> |
Вивід по тегу:
1 2 3 |
<?php digatalart_tag_rel_post(); ?> |
Як бачимо нічого складного немає. І тим паче, немає необхідності в плагіні.
Зразок дивіться під даним записом. Всім успіхів.