stick_post()WP 2.7.0

Makes a post sticky.

Sticky posts should be displayed at the top of the front page.

Hooks from the function

Return

null. Nothing (null).

Usage

stick_post( $post_id );
$post_id(int) (required)
Post ID.

Changelog

Since 2.7.0 Introduced.

stick_post() code WP 6.5.2

function stick_post( $post_id ) {
	$post_id  = (int) $post_id;
	$stickies = get_option( 'sticky_posts' );
	$updated  = false;

	if ( ! is_array( $stickies ) ) {
		$stickies = array();
	} else {
		$stickies = array_unique( array_map( 'intval', $stickies ) );
	}

	if ( ! in_array( $post_id, $stickies, true ) ) {
		$stickies[] = $post_id;
		$updated    = update_option( 'sticky_posts', array_values( $stickies ) );
	}

	if ( $updated ) {
		/**
		 * Fires once a post has been added to the sticky list.
		 *
		 * @since 4.6.0
		 *
		 * @param int $post_id ID of the post that was stuck.
		 */
		do_action( 'post_stuck', $post_id );
	}
}