WP_Customize_Manager::_validate_header_video( WP_Error $validity, mixed $value ): mixed

Callback for validating the header_video value.

Description

Ensures that the selected video is less than 8MB and provides an error message.

Parameters

$validityWP_Errorrequired
$valuemixedrequired

Return

mixed

Source

public function _validate_header_video( $validity, $value ) {
	$video = get_attached_file( absint( $value ) );
	if ( $video ) {
		$size = filesize( $video );
		if ( $size > 8 * MB_IN_BYTES ) {
			$validity->add(
				'size_too_large',
				__( 'This video file is too large to use as a header video. Try a shorter video or optimize the compression settings and re-upload a file that is less than 8MB. Or, upload your video to YouTube and link it with the option below.' )
			);
		}
		if ( ! str_ends_with( $video, '.mp4' ) && ! str_ends_with( $video, '.mov' ) ) { // Check for .mp4 or .mov format, which (assuming h.264 encoding) are the only cross-browser-supported formats.
			$validity->add(
				'invalid_file_type',
				sprintf(
					/* translators: 1: .mp4, 2: .mov */
					__( 'Only %1$s or %2$s files may be used for header video. Please convert your video file and try again, or, upload your video to YouTube and link it with the option below.' ),
					'<code>.mp4</code>',
					'<code>.mov</code>'
				)
			);
		}
	}
	return $validity;
}

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.