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

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

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

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

説明

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

使い方

<?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最新版との差分