is_sticky

函数


is_sticky ( $post_id = 0 )
参数
  • (int)
    $post_id
    Optional. Post ID. Default is the ID of the global `$post`.
    Required:
返回值
  • (bool) Whether post is sticky.
定义位置
  • wp-includes/post.php
    , line 2654
引入
2.7.0
弃用

Determines whether a post is sticky.

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 {@link Conditional Tags} article in the Theme Developer Handbook.

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 );
}