Проверка записи на “прилепленность” в WordPress: is_sticky()

Проверка, является ли запись "прилепленной" (IS_STICKY)

Функция is_sticky() — это условная функция в WordPress, которая проверяет, является ли текущая запись "прилепленной" (то есть, закрепленной на верхней части главной страницы).

Что такое "прилепленные" записи?

"Прилепленные" записи — это те записи, которые показываются на верхней части списка записей на главной странице сайта. Они предназначены для того, чтобы привлекать к себе внимание. Если запись "прилепленная", она будет отображаться на самом верху в течение определенного времени.

Полезные данные о функции

  • Возвращаемое значение: true или false. Функция возвращает true, если запись "прилепленная", и false в противном случае.

Пример использования

Чтобы использовать is_sticky(), можно использовать следующий код:

Параметры

  • $post_id (int) — ID записи, которую вы хотите проверить на "прилепленность". Если вы не укажете этот параметр, будет проверяться текущая запись (та, на которой вы находитесь).

    По умолчанию: 0 — ID глобальной переменной $post

Примеры

Простой пример

if( is_sticky() ){
   // Эта запись "прилепленная".
}

if( is_sticky( 17 ) ){
   // Это будет работать, если запись с ID 17 является "прилепленной".
}

Обнов��ения

  • Версия: Функция была введена в версии 2.7.0 WordPress.

Исходный код функции

Вот как выглядит реализация функции is_sticky() в WordPress:

function is_sticky( $post_id = 0 ) {
$post_id = absint( $post_id );

if ( ! $post_id ) {
    $post_id = get_the_ID(); // Если ID не указан, берем текущий ID записи.
}

$stickies = get_option( 'sticky_posts' ); // Получаем все "прилепленные" записи.

if ( is_array( $stickies ) ) {
    $stickies  = array_map( 'intval', $stickies ); // Преобразуем все ID в целые числа.
    $is_sticky = in_array( $post_id, $stickies, true ); // Проверяем, есть ли текущий ID в списке "прилепленных".
} else {
    $is_sticky = false; // Если нет "прилепленных" записей, возвращаем false.
}

/**
 * Фильтрует, является ли запись "прилепленной".
 *
 * @since 5.3.0
 *
 * @param bool $is_sticky Является ли запись "прилепленной".
 * @param int  $post_id   ID записи.
 */
return apply_filters( 'is_sticky', $is_sticky, $post_id ); // Возвращаем результат с помощью фильтра.

}

Заключение

Функция is_sticky() является полезным инструментом для создания динамичного контента на вашем сайте WordPress, позволяя выделять важные записи и привлекать к ним внимание. Теперь вы знаете, как использовать эту функцию, чтобы управлять отображением записей на вашей главной странице.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *