Поддержка Проблемы и решения Фильтр по меткам

  • Ребят, кто сталкивался с проблемой когда не работает поиск по меткам?
    Я использую код

    <?php
    global $post;
    
    $tmp_post = $post;
    $args = array( 'posts_per_page' => 3, 'offset'=> 0, 'category' => 2 );
    $myposts = get_posts( $args );
    foreach( $myposts as $post ){ setup_postdata($post);
    ?>
    
    <div class="col-md-12">
      <div class="main-content-projection">
    
        <?php the_post_thumbnail(); ?>
    
        <h3><?php the_title(); ?></h3>
    
        <?php the_tags(''); ?>
    
        <?php the_excerpt(); ?>
    
        <div class="main-content-projection-details">
          <a href="<?php the_permalink(); ?>">
            подробнее...
          </a>
        </div>
    
      </div>
    </div>
    
    <?php
    } 
    
    $post = $tmp_post;
    ?>

    Т.е. по факту я вывожу первые 3 сообщения из категории (в другом месте на странице я вывожу следующие 3 сообщения). При этом когда я нажимаю на метку, то фильтр по аналогичным меткам не происходит (скрин http://prntscr.com/cdxfe1).

    Но если вывости на страницу все записи, без ограничения первые 3 или последние 3, то фильтр срабатывает нормально. Через команду query_posts все происходит аналогично.

    Дополнительные плагины не устанавливал, пробовал писать метки на английском, не помогло.

    Ребят, может кто сталкивался с такой проблемой или есть варианты как ее решить? Напишите, пожалуйста, готов попробовать все методы.

    • Тема изменена 7 лет, 7 месяцев назад пользователем vishenko.
Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Модератор Yuri

    (@yube)

    Я использую код

    Если Вы хотите, чтобы в этом коде срабатывало что-то, кроме ограничений на рубрику №2 и количества, это что-то нужно добавить в параметры.

    Юрий, насколько я понимаю, есть ряд атрибутов которые стоят по умолчанию. Возможно Вы подскажите, какой атрибут отвечает за сортировку по метке или какие атрибуты можно попробовать. К сожалению мне не удается понять по документации, что именно не так.

    Модератор Yuri

    (@yube)

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

    Я вообще не понимаю, зачем Вы это делаете. Если Вам нужно ограничить вывод тремя записями на страницу списка, то для этого есть настройка в админке. Если нужно на главной вывести только одну рубрику, то для этого есть код более гуманный, чем повторная выборка, и есть легкие эффективные плагины, в которых этот код реализован. Так что давайте начнем не с кода, а с того, что Вы хотите в результате получить.

    Юрий, спасибо Вам большое, что помогаете разобраться в этом нелегком(для меня) деле.

    Вот пример моей страницы (скрин) http://prntscr.com/cdz1py. Получается, что в начале странице нужно указать 3 поста с рубрики «статьи», затем нужно указать 3 поста с рубрики «авторы», а затем снова вывести 3 поста с рубрики «статьи» (за исключением первых 3х).

    Модератор Yuri

    (@yube)

    Вот пример моей страницы

    Это вывод рубрики «статьи» или это отдельная статическая страница?

    Кстати, в какой шаблон Вы код вставляете?

    И еще.

    
    $tmp_post = $post;
    ...
    $post = $tmp_post;
    

    Это допотопный метод времен WP2 🙂
    Сейчас есть специальная функция https://codex.wordpress.org/Function_Reference/wp_reset_postdata

    Это код для вывода верхней части рубрики «Статьи» (скрин http://prntscr.com/ce0bkn). Еще есть нижняя часть, в ней использую тот же код, но с условием отступа 3 записей (чтобы исключить первые 3, которые уже выведены). Мало ли, но вот ссылка на полный код с комментариями https://github.com/VLishenko/Custom/blob/master/index.php

    Я код вставляю не в шаблон. У меня есть HTML разметка которую нужно перенести на WordPress. Со всеми моментами разобрался, а с этим нет.

    Модератор Yuri

    (@yube)

    Я код вставляю не в шаблон

    Не может быть. См. Основные понятия и термины WordPress

    Ознакомьтесь, пожалуйста, со статьей Иерархия шаблонов, а потом еще раз попробуйте ответить на вопрос «в какой шаблон».

    Юрий, спасибо Вам большое за помощь и за наведение на ответ! К сожалению я не гуру в направлении WordPress, но очень стараюсь не быть дураком. Надеюсь когда-то я смогу сказать, что я не полный дурак 🙂

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

    Еще раз спасибо большое Юрий за внимание, а особенно за выделенное время!!!

    Модератор Yuri

    (@yube)

    На здоровье! 🙂
    Успехов!

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Фильтр по меткам» закрыта для новых ответов.