is_sticky()

You are here:

is_sticky( int $post_id )

Determines whether a post is sticky.

Description Description

Sticky posts should remain at the top of The Loop. If the post ID is not given, then The Loop ID for the current post will be used.

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.


Top ↑

Parameters Parameters

$post_id

(int) (Optional) Post ID. Default is ID of the global $post.


Top ↑

Return Return

(bool) Whether post is sticky.


Top ↑

Source Source

File: wp-includes/post.php

2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
function is_sticky( $post_id = 0 ) {
    $post_id = absint( $post_id );
 
    if ( ! $post_id ) {
        $post_id = get_the_ID();
    }
 
    $stickies = get_option( 'sticky_posts' );
 
    if ( is_array( $stickies ) ) {
        $stickies  = array_map( 'intval', $stickies );
        $is_sticky = in_array( $post_id, $stickies, true );
    } else {
        $is_sticky = false;
    }
 
    /**
     * Filters whether a post is sticky.
     *
     * @since 5.3.0
     *
     * @param bool $is_sticky Whether a post is sticky.
     * @param int  $post_id   Post ID.
     */
    return apply_filters( 'is_sticky', $is_sticky, $post_id );
}


Top ↑

Changelog Changelog

Changelog
Version Description
2.7.0 Introduced.
Was this article helpful?
Dislike 0
Views: 19