set_post_format()WP 3.1.0

Assign a format to a post

No Hooks.

Return

Array|WP_Error|false. Array of affected term IDs on success. WP_Error on error.

Usage

set_post_format( $post, $format );
$post(int|object) (required)
The post for which to assign a format.
$format(string) (required)
A format to assign. Use an empty string or array to remove all formats from the post.

Examples

0

#1 Set post format

Set the format gallery for the current post (in the loop):

set_post_format( $post->ID, 'gallery' );

Changelog

Since 3.1.0 Introduced.

set_post_format() code WP 6.5.2

function set_post_format( $post, $format ) {
	$post = get_post( $post );

	if ( ! $post ) {
		return new WP_Error( 'invalid_post', __( 'Invalid post.' ) );
	}

	if ( ! empty( $format ) ) {
		$format = sanitize_key( $format );
		if ( 'standard' === $format || ! in_array( $format, get_post_format_slugs(), true ) ) {
			$format = '';
		} else {
			$format = 'post-format-' . $format;
		}
	}

	return wp_set_post_terms( $post->ID, $format, 'post_format' );
}