Posts, Post Types: Introduce `is_sticky` filter in `is_sticky()` to provide more flexibility for custom sticky post implementations.

Props dehisok, greenshady.
Fixes #37629.
Built from https://develop.svn.wordpress.org/trunk@45671


git-svn-id: http://core.svn.wordpress.org/trunk@45482 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2019-07-25 01:36:54 +00:00
parent 316fa4aecb
commit 8ab7bbe385
2 changed files with 11 additions and 9 deletions

View File

@ -2213,15 +2213,17 @@ function is_sticky( $post_id = 0 ) {
$stickies = get_option( 'sticky_posts' ); $stickies = get_option( 'sticky_posts' );
if ( ! is_array( $stickies ) ) { $is_sticky = is_array( $stickies ) && in_array( $post_id, $stickies );
return false;
}
if ( in_array( $post_id, $stickies ) ) { /**
return true; * Filters whether a post is sticky.
} *
* @since 5.3.0
return false; *
* @param bool $is_sticky Whether a post is sticky.
* @param int $post_id Post ID.
*/
return apply_filters( 'is_sticky', $is_sticky, $post_id );
} }
/** /**

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.3-alpha-45670'; $wp_version = '5.3-alpha-45671';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.