WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Откорректировать вывод статей, убрать первую запись из списка

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

Понятно что указывать пропуск статей нужно через "offset" в скобках wp query, но у моей темы всё устроено как то иначе.
Сработало когда я перед циклом написал

query_post('offset=1') 

Но перестала работать функция переключения страниц, да и вообще способ считается плохим к использованию, так что пришлось отказаться.

Единственное что я сумел это найти кусок кода где тот цикл выводит статьи

<?php $j = 0; if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
	<article class="latestPost excerpt <?php echo (++$j % 3 == 0) ? 'last' : ''; ?>" itemscope itemtype="http://schema.org/BlogPosting">
	  <?php mts_archive_post(); ?> 
	</article>
<?php endwhile; endif; ?>

http://pubg-pro.ru ссылка на сайт чтобы было яснее что я имею ввиду.

Подозреваю что создатели темы вывели нужное мне в какое то другое место
В кодах программирования практически не разбираюсь, поэтому если решение покажется кому то очевидным объяснить мне всё на пальцах и сильно не пинать, спасибо.

0
Pranatank
6 лет назад
  • 0
    Kama9616

    Установи этот offset через фильтр pre_get_posts

    Комментировать
  • 0

    Найди блок кода, который вызывает кусок подобному который ты нашел (то что ты нашел не то скорее всего), вот его и нужно смотреть, а точнее как организованны параметры используемые в запросе, туда и добавишь этот offset=1 но в сами аргументы запроса.

    Пример кода который может там быть:

    //это аргументы
    $args = array( 
    'posts_per_page' => 5, //<-- запятая перед твоим если ее нет
    'offset' => 1 //<--- это твой кусок
    );
    
    $query = new WP_Query( $args ); //<-- это сам запрос

    далее идет обработка и вывод похожий на это:

    if ( $query->have_posts() 

    То о чем говорит Кама, тебе не подойдет наверное. Для тебя там будет сложнее понять при каких условиях нужно использовать хук.

    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация