image_attachment_fields_to_save( array $post, array $attachment )

Filters input from media_upload_form_handler() and assigns a default post_title from the file name if none supplied.

Description

Illustrates the use of the ‘attachment_fields_to_save’ filter which can be used to add default values to any field before saving to DB.

Parameters

$post

(array) (Required) The WP_Post attachment object converted to an array.

$attachment

(array) (Required) An array of attachment metadata.

Return

(array) Filtered attachment post object.

Source

File: wp-admin/includes/media.php

function image_attachment_fields_to_save( $post, $attachment ) {
	if ( 'image' === substr( $post['post_mime_type'], 0, 5 ) ) {
		if ( strlen( trim( $post['post_title'] ) ) == 0 ) {
			$attachment_url                           = ( isset( $post['attachment_url'] ) ) ? $post['attachment_url'] : $post['guid'];
			$post['post_title']                       = preg_replace( '/\.\w+$/', '', wp_basename( $attachment_url ) );
			$post['errors']['post_title']['errors'][] = __( 'Empty Title filled from filename.' );
		}
	}

	return $post;
}

Changelog

Version Description
2.5.0 Introduced.

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