Функція сортування схожих статей по мітках (тегами)
Багато хто використовує теги або мітки, які служать для зв'язки статей, але при цьому записи можуть перебувати в різних категоріях. Вставляємо цей код в файл single.php під статтею.
Порада! Шаблони у всіх різні, експериментуйте і якщо не вийде з першого разу вставити код в бажане місце, то просто пробуйте його вставити в інше. Але не забуваємо зберігати те що правимо, щоб потім, раптом що, відновити всі на місце.
01 | <div class= "similar_records" > |
02 | <h 3 >Похожие записи:</h 3 > |
03 | <?php $tags = wp_get_post_tags( $post ->ID); |
06 | foreach ( $tags as $individual_tag ) $tag_ids [] = $individual_tag ->term_id; |
08 | 'tag__in' => $tag_ids , // Сортировка производится по тегам |
09 | 'post__not_in' => array ( $post ->ID), |
10 | 'showposts' => 5 // Цифра означает количество выводимых записей |
12 | $my_query = new wp_query( $args ); |
13 | if ( $my_query ->have_posts() ) { |
15 | while ( $my_query ->have_posts()) { |
16 | $my_query ->the_post(); |
18 | <li> <a href= "<?php the_permalink() ?>" rel= "bookmark" title= "<?php the_title_attribute(); ?>" > <?php the_title(); ?> </a> </li> |
Якщо в коді нічого не змінювати, то висновок схожих статей буде буде здійсняться за тегами, але з урахуванням дати, починаючи з самих свіжих. Щоб статті виводилися в випадковому порядку необхідно додати рядок:
прописуємо після 9 рядки:
Також не зайвим буде додати ще 1 умова:
Воно забороняє повторення однієї і тієї ж посилання. Наприклад, у Вас на блозі ще невелика кількість статей, а ви в коді вказали висновок по 10 посилань:
У цьому випадки, в блоці схожих записів можуть з'явитися однакові посилання. сподіваюся зрозуміло.
В результаті у нас повинен вийде такий код:
01 | <div class= "similar_records" > |
02 | <h 3 >Похожие записи:</h 3 > |
03 | <?php $tags = wp_get_post_tags( $post ->ID); |
06 | foreach ( $tags as $individual_tag ) $tag_ids [] = $individual_tag ->term_id; |
08 | 'tag__in' => $tag_ids , // Сортировка происходит по тегам (меткам) |
09 | 'orderby' =>rand, // Добавляем условие сортировки рандом (случайный подбор) |
10 | 'caller_get_posts' => 1 , // Запрещаем повторение ссылок |
11 | 'post__not_in' => array ( $post ->ID), |
12 | 'showposts' => 5 // Цифра означает количество выводимых записей |
14 | $my_query = new wp_query( $args ); |
15 | if ( $my_query ->have_posts() ) { |
17 | while ( $my_query ->have_posts()) { |
18 | $my_query ->the_post(); |
20 | <li> <a href= "<?php the_permalink() ?>" rel= "bookmark" title= "<?php the_title_attribute(); ?>" > <?php the_title(); ?> </a> </li> |
Тепер висновок схожих записів буде проводиться у випадковому порядку.
Функція сортування схожих статей за рубриками (категоріям)
Особисто я використовую другий спосіб виведення схожих записів, так як вважаю, що сортування за рубриками найбільш підходить для текстових заголовків, але в будь-якому випадки вибір за Вами.
01 | <div class= "similar_records" > |
02 | <h 3 >Похожие записи:</h 3 > |
03 | <?php $categories = get_the_category( $post ->ID); |
05 | $category_ids = array (); |
06 | foreach ( $categories as $individual_category ) $category_ids [] = $individual_category ->term_id; |
08 | 'category__in' => $category_ids , // Сортировка производится по категориям |
09 | 'orderby' =>rand, // Условие сортировки рандом |
10 | 'post__not_in' => array ( $post ->ID), |
11 | 'showposts' => 5 , //Количество выводимых записей |
12 | 'caller_get_posts' => 1 ); // Запрещаем повторение ссылок |
13 | $my_query = new wp_query( $args ); |
14 | if ( $my_query ->have_posts() ) { |
16 | while ( $my_query ->have_posts()) { |
17 | $my_query ->the_post(); |
19 | <li> <a href= "<?php the_permalink() ?>" rel= "bookmark" title= "<?php the_title_attribute(); ?>" > <?php the_title(); ?> </a> </li> |
Я відразу включив умова сортування рандом, але якщо ви хочете встановити сортування по датах, то просто приберіть рядок:
нагадую, що код треба вставити в файл single.php після статті. Зазвичай його вставляють відразу після скриптів соціальних кнопок, але якщо виникнуть складності, то будь ласка задавайте питання в коментарях.
джерело: https://seo-mayak.com/