Upload file

Upload Files to Wordpress Media Library Using PHP

template-example.php

					<form method="post" action="" enctype="multipart/form-data">

						<p>
							<input type="file" name="myfile" id="myfile" />
						</p>

						<p><input type="submit" value="Uploaden" id="submit" name="submit" class="submit" /></p>

					</form>
	// https://cube3x.com/upload-files-to-wordpress-media-library-using-php/
	if(@$_FILES['myfile']['size']){
		if ( ! function_exists( 'wp_handle_upload' ) ) require_once( ABSPATH . 'wp-admin/includes/file.php' );
		if ( ! function_exists( 'wp_generate_attachment_metadata' ) ) require_once( ABSPATH . 'wp-admin/includes/image.php' );
		$uploadedfile = $_FILES['myfile'];
		if($uploadedfile){
			$upload_overrides = array( 'test_form' => false );
			$movefile = wp_handle_upload( $uploadedfile, $upload_overrides );
			if ( $movefile ) {
				$post = array(
					'post_title' => time(),
					'post_content' => '',
					'post_status' => 'publish',
					'post_type' => 'card'
				);
				$upload_post_id = wp_insert_post($post);
				do_action('wp_insert_post', 'wp_insert_post'); 

				$wp_filetype = $movefile['type'];
				$filename = $movefile['file'];
				$wp_upload_dir = wp_upload_dir();
				$attachment = array(
					'guid' => $wp_upload_dir['url'] . '/' . basename( $filename ),
					'post_mime_type' => $wp_filetype,
					'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
					'post_content' => '',
					'post_status' => 'inherit'
				);
				$attach_id = wp_insert_attachment( $attachment, $filename, $upload_post_id);
				$attach_data = wp_generate_attachment_metadata($attach_id, $filename);
				//dump($attach_data); die;
				wp_update_attachment_metadata($attach_id, $attach_data);
				set_post_thumbnail( $upload_post_id, $attach_id);
				if($attach_id) header("Location: ".get_permalink(PAGE_ID_EXAMPLE));
			}
		}
	}