wp_get_attachment_metadata

説明

mixed wp_get_attachment_metadata( [ int $post_id = 0 [ , bool $unfiltered = false ] ] )
添付ファイルのメタ情報を取得する。

パラメータ

  • $post_id
    添付ファイルの投稿IDを指定(省略時は0)。
  • $unfiltered
    フィルター処理を行わない場合はtrue、行う場合はfalseを指定(省略時はfalse)。

返り値

添付ファイルのメタ情報(連想配列)を返す。パラメータ$post_idが無効な場合はfalseを返す。メタ情報(連想配列)の内容は次の通り。
キー名
widthstring幅(ピクセル)
heightstring高さ(ピクセル)
hwstring_smallstring幅と高さの属性値(例:"height='96' width='115'")
filestringファイルパス名(アップロードディレクトリからの相対パス)
sizesArray他サイズのイメージ情報の連想配列。キー名はthumbnailやmediumなどで、その値は連想配列(キー名はfile、width、height)となる(注:このfileの値はディレクトリを含まないファイル名のみ)。
image_metaArrayイメージのメタ情報の連想配列。3.3.1のキー名は、aperture、credit、camera、caption、created_timestamp、copyright、focal_length、iso、shutter_speed、titleである。

注意

添付ファイルのメタ情報は、'_wp_attachment_metadata'という名前のカスタムフィールドに格納されており、 get_post_meta関数で取得できる。

使用例

  • IDが10の添付ファイルのメタ情報を取得する。
    <?php $meta = wp_get_attachment_metadata( 10 ); ?>

フィルター

パラメータ$unfilteredfalseの場合は、パス名を返す前にwp_get_attachment_metadataフィルターが呼び出される。フィルター関数に渡る$dataには生のメタ情報が、$attachment_idには添付ファイルの投稿IDを格納されている。
return apply_filters( 'wp_get_attachment_metadata', $data, $attachment_id )

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/post.php

最終更新 : 2019年11月19日 12:15



お勧め

Login rebuilder:プラグイン作ってみました(2024年11月7日 更新)

昨年投稿した「ログインページを変える」をプラグイン化。ログインページを独自の名前のページ変更し、標準のログインページwp-login.phpを使用できないようにするプラグインです。部外者によるwp-login.phpのアクセスにお悩みの方にお勧めします。また2.0.0では「XML-RPCリクエストの管理機能」を追加。2.2.0では管理者のログイン時にメールで通知する機能を追加しました。

管理画面の'アイキャッチ画像'を'写真'に変える(2013年1月23日 更新)

クライアント向けに専用のテーマを提供する際、稀に管理画面内の用語の変更を依頼されることがある。今回は、'アイキャッチ画像'だとわかりにくいので'写真'に変えてほしいということだった。

カスタムフィールド関連関数のおさらい(2012年6月22日 更新)

カスタムフィールドは、投稿記事の拡張情報としてよく利用されている。投稿ページで登録した情報をアーカイブや投稿ページで表示しているが、投稿ページを表示する際にカスタムフィールドの値を更新して、サイドバーのようなページ内要素に利用したりしている。

5.3への準備:投稿写真を使っているサイトは準備しておこう(2019年10月10日 更新)

この記事は先日公開した「5.3の新機能:JPEG画像の向きを調整」の続きのようなものになる。高解像度の投稿写真を扱っているサイトは、5.3のリリースに合わせて対応を検討しておくべきことをまとめてみた。

ブロックエディターで現在の「ロケール」を取得した時のメモ(2024年8月10日 更新)

ブロックエディター向けのプラグインで日本語固有の機能を実装する際、現在のロケール(言語)を取得したい。ブロックエディターの編集時、投稿を編集しているユーザーの言語が優先され、それをどうやって取得するかを「ChatGPT」に聞いてみたのだが。。。