Прилепленные записи (Sticky Posts) — очень неплохое решение для привлечения внимания пользователя к нужному Вам контенту, однако эти положительные качества, в ряде случаев могут сослужить сайту плохую службу, например прилепленные записи, особенно с случае когда их много, могут полностью забить собой вывод контента на странице записей. Помимо этого, если вы к примеру в сайдбаре выводите последние записи, они так же могут оказаться бесполезны, поскольку будут отображать только прилепленные записи. С одной стороны возможно это задумка такая ;-), с другой — необходима возможность убирать прилепленные записи из произвольного цикла.
Выполнить задачу, можно двумя способами, во-первых, можно указать циклу, не обрабатывать свойство цикла sticky_posts
, чтобы записи в цикле, выводились в заданном (например хронологическом) порядке, во-вторых, можно просто целиком проигнорировать вывод таких записей полностью исключив их из обработки цикла.
Убираем свойство прилепливания записей из цикла
<?php $args = array( 'ignore_sticky_posts' => 1); $query = new WP_Query( $args ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
Данный код игнорирует свойство прилепленности, выводя все записи в естественном порядке, прилепленные записи будут представлены в цикле, но отсортированы они будут наряду с обычными записями.
Полное исключение прилепленных записей из цикла
<?php $query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ) ) ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); ?>
comments powered by HyperComments