Вывод 3х последних записей с контролем текущей (открытой для чтения)
Логика проста — взять не 3, а 4 записи, и вывести только 3, удалив из них ту которая сейчас открыта для чтения (или последнюю, если среди 4х открытой нет). Подсчет кол-ва записей делаем счетчиком. Сравнение с открытой записью делаем (в этом примере) по ID записи.
Немного слов о коде ниже:
- $n — переменная, в которой хранится инфо о том, сколько уже выведено записей
- в строчке 7 мы во-первых сравниваем запись ID текущего поста на странице и количество постов на странице
<?php $posts = get_posts ("category=7&orderby=date&numberposts=4"); $n = 0; echo '<ul class="">'; if ($posts) : foreach ($posts as $post) : setup_postdata ($post); $temp_post_id = get_the_ID(); if ( ( $temp_post_id != $post_id ) && ( $n < 3 ) ) { echo ' <li class=""><a href="'.get_the_permalink().'"><img src="'.get_the_post_thumbnail_url().'">'.get_the_title().'</a></li>'; $n++; } endforeach; wp_reset_postdata(); echo '</ul>'; endif; ?>
Выше надо сграбить номер текущей записи:
<?php echo $post_id = get_the_ID(); ?>