Исключаем прилепленные записи из цикла в WordPress

Прилепленные записи очень удобны для подсветки вашего избранного контента. Однако, есть определенные места на вашем сайте, где выводить их сверху над всеми записями просто не нужно. WordPress не может предугадать этого, поэтому вам необходимо явно указать ему где именно отключить прилепленные записи (из определенного цикла, в шаблоне страницы). В этой статье мы покажем вам как полностью исключить прилепленные записи из цикла в WordPress, и также расскажем как убрать «прилепленность» записи, так что она будет отображаться как и все остальные.

Убираем свойство «прилепленности» записи

Когда вы выводите последние записи в табе(вкладке), то видимо не хотите, чтобы прилепленные записи оставались в этом блоке таковыми. Если вы оставите записи прилепленными, то блок последних постов станет бесполезным, в виду того, что прилепленные заполонят его полностью. Здесь нам пригодится функция query_posts.

Итак, нам нужно изменить цикл в шаблоне на что-то подобное:

<?php
$args = array(
	'posts_per_page' => 10,
	'ignore_sticky_posts' => 1
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
?>

Этот код игнорирует «прилепленность» записей и отображает посты в нормальном порядке. Использование этого кода позволит вашим прилепленным записям появляться в цикле, однако не вверху, а наряду со всеми.

nonstickyposts[1]

Полностью исключаем прилепленные записи из цикла

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

<?php
$the_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ) ) );
if ( $the_query->have_posts() ) : while ( $the_query->have_posts() ) : $the_query->the_post();
?>

Этот код позволит не выводить прилепленные записи в цикле записи.

Источник: WP Codex

VN:F [1.9.22_1171]
Rating: 1.0/5 (1 vote cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top