WordPress: creare un sistema di upload con invio dei file come allegati delle e-mail

Short link

In WordPress possiamo creare un sistema di upload con invio dei file come allegati delle e-mail.

La soluzione è la seguente (file è il valore dell'attributo name del campo di tipo file del form di upload):


function my_upload() {
	$attachment_id = media_handle_upload( 'file', 0 );
	$success = false;

	if( !is_wp_error( $attachment_id ) ) {

		$message = __( 'New upload', 'mytextdomain' );
		$to = get_bloginfo( 'admin_email' );
		$subject = $message . ' - ' . get_bloginfo( 'name' );
		$headers = array( 'From: ' . get_bloginfo( 'name' ) . ' <wordpress@mydomain.tld>' );

		wp_mail( $to, $subject, $message, $headers, array( get_attached_file( $attachment_id ) ) );

		$success = true;
	}

	return $success;
}