• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/media handle upload

提供: WordPress Codex 日本語版
移動先: 案内検索

この項目「関数リファレンス/media handle upload」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

説明

この関数はファイルをアップロードする POST リクエストを処理して、添付ファイル(の投稿 - attachment post)をデータベースに作成します。

使い方

<?php media_handle_upload( $file_id, $post_id, $post_data, $overrides ); ?>

パラメータ

$file_id
文字列) (必須) POST メソッドでアップロードされた項目の連想配列 $_FILES に対するインデックス
初期値: なし
$post_id
整数) (必須) メディアを関連づける投稿の ID。投稿に関連づけたくなければ 0 を指定する
初期値: なし
$post_data
配列) (オプション) このパラメータを使って添付ファイル(の投稿)を上書きできます
初期値: array()
$overrides
配列) (オプション) このパラメータを使って wp_handle_upload() の動作を変更できます
初期値: array( 'test_form' => false )

戻り値

(整数|WP_Error) 
添付ファイルの ID。アップロードに失敗すると WP_Error

用例

サイトのフロントエンドに表示したフォームから添付ファイルをアップロードする例です。

アップロードのフォームは次のようになるでしょう:

<form id="featured_upload" method="post" action="#" enctype="multipart/form-data">
	<input type="file" name="my_image_upload" id="my_image_upload"  multiple="false" />
	<input type="hidden" name="post_id" id="post_id" value="55" />
	<?php wp_nonce_field( 'my_image_upload', 'my_image_upload_nonce' ); ?>
	<input id="submit_my_image_upload" name="submit_my_image_upload" type="submit" value="Upload" />
</form>

添付ファイルを保存するコードは:

<?php

// nonce が有効で、ユーザーがこの投稿を編集可能であるかチェック。
if ( 
	isset( $_POST['my_image_upload_nonce'], $_POST['post_id'] ) 
	&& wp_verify_nonce( $_POST['my_image_upload_nonce'], 'my_image_upload' )
	&& current_user_can( 'edit_post', $_POST['post_id'] )
) {
	// nonce が有効で、ユーザーが権限を持つので、続けて大丈夫。

	// 下記のファイルに依存するのでフロントエンドではインクルードする必要がある。
	require_once( ABSPATH . 'wp-admin/includes/image.php' );
	require_once( ABSPATH . 'wp-admin/includes/file.php' );
	require_once( ABSPATH . 'wp-admin/includes/media.php' );
	
	// WordPress にアップロードを処理させる。
	// 注意: 'my_image_upload' は上のフォームで file input 要素の name 属性。
	$attachment_id = media_handle_upload( 'my_image_upload', $_POST['post_id'] );
	
	if ( is_wp_error( $attachment_id ) ) {
		// 画像のアップロード中にエラーが起きた。
	} else {
		// 画像のアップロードに成功 !
	}

} else {

	// セキュリティチェック失敗、例えばユーザーにエラーを提示。
}

変更履歴

新規導入: 2.5

ソースファイル

media_handle_upload()wp-admin/includes/media.php にあります。

関連項目

アップロード関数: media_handle_upload() /en, media_handle_sideload() /en, wp_handle_upload(), wp_import_handle_upload() /en, wp_handle_sideload() /en, media_sideload_image() /en


添付ファイル関数: get_children(), get attached media(), the_attachment_link(), get_attachment_link(), wp_get_attachment_link(), wp_get_attachment_image(), wp_get_attachment_image_src(), wp_get_attachment_url(), wp_get_attachment_thumb_file(), wp_get_attachment_thumb_url(), is_attachment(), wp_get_attachment_metadata()



関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/media_handle_upload最新版との差分