Помогите с функцией вывода похожих записей в Ворж
Страницы: 1
Помогите с функцией вывода похожих записей в Ворж
Подскажите, пожалуйста, почему функция вывода похожих записей по тегам показывает также страницы, у которых тегов вообще нет (пробовал задавать и левые):

Код
<?php $categories = get_the_category($post->ID);
if ($categories) {
 $category_ids = array();
 foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
 $args=array(
 'tag__in' => $tag_ids, // Сортировка производится по тегам
 'orderby'=>rand, // Условие сортировки рандом
 'post__not_in' => array($post->ID),
 'showposts'=>4, //Количество выводимых записей
 'caller_get_posts'=>1); // Запрещаем повторение ссылок
 $my_query = new wp_query($args);
 if( $my_query->have_posts() ) {
echo '<ul>';
        while ($my_query->have_posts()) {
            $my_query->the_post();
        ?>


На других своих сайтах подобной проблемы не наблюдал, хотя, правда, там у меня все статьи имеют теги. Но при этом не лезут же в похожие записи, в которых не должны быть...

Когда меняю строку  'tag__in' => $tag_ids, на  'category__in' => $category_ids,  чтобы выводилось по категориям (мне это хуже, но допустимо) то в похожих записях вылазит текущая страница тоже, хотя строчка 'caller_get_posts'=>1); должна предотвращать это(( На других сайтах тоже подобной проблемы вроде не наблюдал с этой же функцией...
Изменено: Иван - 3 Ноября 2016 13:22
Код
<div class="similar_records">
<h3>Похожие записи:</h3>
<?php $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, // Сортировка происходит по тегам (меткам)
 'orderby'=>rand, // Добавляем условие сортировки рандом (случайный подбор)
 'caller_get_posts'=>1, // Запрещаем повторение ссылок
 'post__not_in' => array($post->ID),
 'showposts'=>5 // Цифра означает количество выводимых записей
 );
 $my_query = new wp_query($args);
 if( $my_query->have_posts() ) {
 echo '<ul>';
        while ($my_query->have_posts()) {
            $my_query->the_post();
        ?>
            <li><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
        <?php
        }
        echo '</ul>';
    }
 wp_reset_query();
 }
 ?></div>
 

В таком виде вообще не работает((
Точнее не работает в виджете. А вот под статьей все прекрасно!
Изменено: Иван - 3 Ноября 2016 15:11
В виджет плагином просто выведите, та и все проблемы) 
Плагин: Recent Posts Widget Extended
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
23:01 Слипание слов в блоке 
22:56 PHP 8 ломает старые сайты. Кто уже обновился - что отвалилось? 
22:50 РСЯ и тормоза сайта: Яндекс начал штрафовать за плохой PageSpeed? 
20:50 ИКС Яндекс АПдейт 1 апреля 2026. Обновлён алгоритм расчёта 
20:34 Ап выдачи Яндекса 8 апреля - есть движение, но интереснее что творится с AI-ответами Google 
20:28 Почему даже при маленьком трафике сервер умирает? Разбираем реальные причины 
20:00 Как монетизировать сайт игровой тематики. 
09:31 Monitex: Мониторинг с кэшбэком 80% в USDT 
22:14 Услуги рассылки Viber|Whatsapp|IMO. 
22:14 Прием платежей для HIGH RISK | Прием платежей без сайта 
18:17 Продам обменник криптовалюты, а также новый обменник под ключ с обучением. Скидки на скрипты обменника 
18:06 Mixmasters - Exchange without AML and KYC 
16:55 Русские народные сказки - оцените! 
16:34 Создам под вашу нишу сетку сайтов-сателлитов для привлечения целевого трафика 
22:50 Список обновленных тем пуст... 
22:33 А вы бегаете? 
18:06 Чак Норрис ушел - 19 марта 2026, 86 лет, семья подтвердила 
16:40 "Вымпелком" предложил белые списки для части абонентов - выборочный интернет вместо полного доступа 
15:29 арбитражники 
14:06 С юмором по жизни! 
10:18 Добро пожаловать в цифровой мир...