Функция is_sticky()
в WordPress используется для проверки, является ли определенная запись «прикрепленной» (sticky post). Прикрепленные записи отображаются в верхней части списка записей на главной странице блога, независимо от даты их публикации.
bool is_sticky( int $post_id = 0 )
Параметры
- $post_id (int) (опционально): ID записи. По умолчанию используется текущая запись.
Возвращаемое значение
- (bool): Возвращает
true
, если запись является прикрепленной, иfalse
в противном случае.
Пример 1: Проверка текущей записи
Этот пример демонстрирует, как использовать is_sticky()
для проверки, является ли текущая запись в цикле прикрепленной, и вывод соответствующего сообщения.
if ( is_sticky() ) {
echo '<p>Это прикрепленная запись.</p>';
} else {
echo '<p>Это обычная запись.</p>';
}
Пример 2: Проверка определенной записи
Этот пример показывает, как проверить, является ли запись с конкретным ID прикрепленной.
$post_id = 42; // ID записи
if ( is_sticky( $post_id ) ) {
echo '<p>Запись с ID ' . $post_id . ' является прикрепленной.</p>';
} else {
echo '<p>Запись с ID ' . $post_id . ' не является прикрепленной.</p>';
}
Пример 3: Стилизация прикрепленных записей
Этот пример демонстрирует, как использовать is_sticky()
для добавления CSS класса к прикрепленным записям в цикле WordPress.
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
$classes = is_sticky() ? 'post sticky' : 'post';
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( $classes ); ?>>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
</article>
<?php
}
}
Пример 4: Показ только прикрепленных записей
Этот пример показывает, как вывести только прикрепленные записи с помощью WP_Query
.
<?php
$sticky = get_option( 'sticky_posts' );
$args = array(
'post__in' => $sticky,
'ignore_sticky_posts' => 1
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
</article>
<?php
}
} else {
echo '<p>Нет прикрепленных записей.</p>';
}
wp_reset_postdata();
Заключение
Функция is_sticky()
является полезным инструментом для проверки и обработки прикрепленных записей в WordPress. Она позволяет гибко управлять отображением таких записей, добавлять к ним стили и выводить их отдельно от обычных записей.