set_post_thumbnail( int|WP_Post $post, int $thumbnail_id )

Sets the post thumbnail (featured image) for the given post.

Parameters

$post

(int|WP_Post) (Required) Post ID or post object where thumbnail should be attached.

$thumbnail_id

(int) (Required) Thumbnail to attach.

Return

(int|bool) True on success, false on failure.

Source

File: wp-includes/post.php

function set_post_thumbnail( $post, $thumbnail_id ) {
	$post         = get_post( $post );
	$thumbnail_id = absint( $thumbnail_id );
	if ( $post && $thumbnail_id && get_post( $thumbnail_id ) ) {
		if ( wp_get_attachment_image( $thumbnail_id, 'thumbnail' ) ) {
			return update_post_meta( $post->ID, '_thumbnail_id', $thumbnail_id );
		} else {
			return delete_post_meta( $post->ID, '_thumbnail_id' );
		}
	}
	return false;
}

Changelog

Version Description
3.1.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/set_post_thumbnail