WordPress Version: 5.5
/**
* Assign a format to a post
*
* @since 3.1.0
*
* @param int|object $post The post for which to assign a format.
* @param string $format A format to assign. Use an empty string or array to remove all formats from the post.
* @return array|WP_Error|false Array of affected term IDs on success. WP_Error on error.
*/
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');
}