Upload tập tin lên thư viện WordPress tự động

Nếu bạn đang viết code cho phép upload lên thư viện media của WordPress thì nên tham khảo hàm bên dưới:

function hocwp_theme_upload_media_file_auto( $parent_post_id ) {
	$file     = '/path/to/file.png';
	$filename = basename( $file );

	$upload = wp_upload_bits( $filename, null, file_get_contents( $file ) );

	if ( ! $upload['error'] ) {
		$wp_filetype = wp_check_filetype( $filename, null );

		$attachment = array(
			'post_mime_type' => $wp_filetype['type'],
			'post_parent'    => $parent_post_id,
			'post_title'     => preg_replace( '/\.[^.]+$/', '', $filename ),
			'post_content'   => '',
			'post_status'    => 'inherit'
		);

		$attachment_id = wp_insert_attachment( $attachment, $upload['file'], $parent_post_id );

		if ( ! is_wp_error( $attachment_id ) ) {
			require_once( ABSPATH . 'wp-admin/includes/image.php' );
			$attachment_data = wp_generate_attachment_metadata( $attachment_id, $upload['file'] );
			wp_update_attachment_metadata( $attachment_id, $attachment_data );
		}
	}
}

Hàm wp_upload_bits sẽ giúp bạn upload tập tin vào đúng thư mục media của WordPress. Chúc bạn thành công.

Không có bình luận.

Bạn có thể trở thành người đầu tiên để lại bình luận.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *