当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

関数リファレンス/wp generate attachment metadata

提供: WordPress Codex 日本語版
< 関数リファレンス
2018年5月4日 (金) 17:21時点におけるGblsm (トーク | 投稿記録)による版 (和訳完了。)

(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

説明

この関数は画像である添付ファイルのメタデータを生成します。またサムネイルと中間サイズの画像も生成します。中間サイズは管理画面の 設定 > メディア で定義します。

使い方

<?php wp_generate_attachment_metadata( $attachment_id, $file ); ?>

パラメータ

$attachment_id
整数) (必須) 処理する添付ファイルの ID
初期値: なし
$file
文字列) (必須) サーバー上のファイルの位置。URI ではなく絶対パスを使ってください。ファイルは必ず uploads ディレクトリー内とします。wp_upload_dir() を見てください。
初期値: なし

戻り値

(配列) 
wp_update_attachment_metadata() が必要とする形式の添付ファイルのメタデータ。

返される配列の要素は以下のとおりです:

["width"] 
(文字列) 画像の横サイズ。単位はピクセル。
["height"] 
(文字列) 画像の縦サイズ。単位はピクセル。
["file"] 
(文字列) 現在定義されている uploads ディレクトリーからの画像(添付ファイル)の相対パス。
["hwstring_small"] 
(文字列) HTML の img タグに入れて小サイズの画像を表示するための高さ/幅の文字列。
例: height='96' width='126'
["sizes"]["thumbnail"]["file"] 
(文字列) サムネイルの大きさでコピーされた画像のファイル名。
["sizes"]["thumbnail"]["width"] 
(文字列) サムネイルの大きさでコピーされた画像の横サイズ。単位はピクセル。
["sizes"]["thumbnail"]["height"] 
(文字列) サムネイルの大きさでコピーされた画像の縦サイズ。単位はピクセル。
["sizes"]["medium"] 
(配列) 中サイズでコピーされた画像の、["sizes"]["thumbnail"] と同じ3要素の配列。
["sizes"]["large"] 
(配列) 大サイズでコピーされた画像の、["sizes"]["thumbnail"] と同じ3要素の配列。
["sizes"]["post-thumbnail"] 
(配列) 投稿のアイキャッチ画像サイズでコピーされた画像の、["sizes"]["thumbnail"] と同じ3要素の配列。
["sizes"]["large-feature"] 
(配列) 投稿の大きなアイキャッチ画像サイズでコピーされた画像の、["sizes"]["thumbnail"] と同じ3要素の配列。
["sizes"]["small-feature"] 
(配列) 投稿の小さなアイキャッチ画像サイズでコピーされた画像の、["sizes"]["thumbnail"] と同じ3要素の配列。
["image_meta"] 
(配列) wp_read_image_metadata() が返す画像(添付ファイル)のメタデータ。

用例

添付ファイルの親投稿の ID を37にした上でメタデータを生成します:

<?php
  // $filename が添付ファイルの絶対パス
  $attach_id = wp_insert_attachment( $attachment, $filename, 37 );
  $attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
  wp_update_attachment_metadata( $attach_id, $attach_data );
?>

参考

  • この関数は 設定 > メディア で変更を行った後に画像のサムネイルと中間サイズを再生成するのに利用できます。ただし同じ画像について以前に生成済みの中間サイズの有無を確かめたり削除したりしません。
  • 画像のサムネイルと中間サイズ、およびこの関数が返す配列の ["sizes"] 要素は、中間サイズがオリジナルの画像サイズより小さい場合のみ生成されます。
  • この関数が未定義の環境、例えばショートコードを定義する場面で使いたい場合は、inlcude 関数を使ってください:
<?php 
if ( ! function_exists( 'wp_crop_image' ) ) {
	include( ABSPATH . 'wp-admin/includes/image.php' );
}
?>

変更履歴

新規導入 : 2.1

ソースファイル

wp_generate_attachment_metadata()wp-admin/includes/image.php にあります。

Related

wp_update_attachment_metadata(), wp_get_attachment_metadata(), wp_read_image_metadata(), wp_get_attachment_image(), wp_get_attachment_image_src(), wp_get_attachment_thumb_file(), wp_get_attachment_thumb_url(), wp_attachment_is_image(), wp_insert_attachment(), wp_delete_attachment(), wp_get_attachment_link(), wp_get_attachment_url(), is_attachment(), wp_insert_post()

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