• В этом коде у меня из админки выводится категория
    Прилепленная(sticky) запись не выходит в самый верх
    Также проверял через post_class(); здесь аналогично не выводится даже класс sticky, что запись является прилепленной

    <?php
    $cat_id = ts_get_option('settings_theme_cat_id');
    $posts = new WP_Query(
     array(
     'cat' => $cat_id,
     'ignore_sticky_posts' => 1,
     )
    );
    ?>
    <?php if ($posts->have_posts()) : while ($posts->have_posts()) : $posts->the_post(); ?>
    <?php the_title(); ?>
    <?php endwhile; endif; ?>

    Если убрать массив аргументов и классы для цикла
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    то все выводится правильно
    подскажите, что не так, ведь это стандартный вывод с аргументами

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Если нужно прилепленные записи выводить в начале, то зачем здесь 'ignore_sticky_posts' => 1?

    Ошибся с 1. Вот так у меня получается код:

    $posts = new WP_Query(
     array(
     'cat' => $cat_id,
     'ignore_sticky_posts' => 0,
     )
    );

    проблема сейчас в следующем, что $cat_id берет настройки из темы, в которой выбирается категория и выводится в цикле, что у меня. Категории выводятся правильно и те, что нужно, но класса sticky вообще нет в post_class();
    Если же закомментировать строчку с этой категорией 'cat' => $cat_id, то сразу появляется css класс sticky и запись, которая была прилепленной, сразу выводится самой первой, но и выводятся все рубрики, что мне не нужно.
    $cat_id выводит только один ID, следующее условие, что прилепленные записи разрешено выводить, но работает только вывод выбранной рубрики без стик записи.
    Также, если напрямую указать ID категории 'cat' => 1, то аналогично не выводит стик

    Почему так и куда копать в данной проблеме?

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