概要
wp_get_original_image_url
関数は、オリジナルの画像ファイルのURLを取得するためのWordPressの関数です。この関数は、画像がアップロードされた際に生成される各種サイズの画像のURLではなく、オリジナルのサイズの画像ファイルのURLを返します。主に以下のような機能を実装する際に使用されることがあります。
- メディアギャラリーのカスタマイズ
- 画像ファイルの詳細情報の表示
- カスタムフィールドからの画像取得
- 投稿やページ内のオリジナル画像のリンク生成
- レスポンシブ画像の実装に役立つURL取得
- 画像のダウンロードリンクを提供する際
- サードパーティのプラグインとの連携
- 画像処理や編集機能の拡張
構文
string wp_get_original_image_url( int $attachment_id );
パラメータ
$attachment_id
(int): 画像の添付ファイルID。
戻り値
- (string): オリジナルの画像ファイルのURL。画像が見つからない場合は空文字列を返します。
関連する関数
使用可能なバージョン
wp_get_original_image_url
は WordPress 5.0.0 以降で使用可能です。
コアファイルのパス
wp-includes/media.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1: 簡単な画像URLの取得
$attachment_id = 123; // 添付ファイルのID
$image_url = wp_get_original_image_url($attachment_id);
echo $image_url; // オリジナル画像のURLを表示
説明: 特定の添付ファイルIDを指定して、そのオリジナル画像のURLを取得し、表示します。
サンプルコード 2: メディアギャラリーでの画像表示
$attachments = get_posts(array(
'post_type' => 'attachment',
'posts_per_page' => -1,
));
foreach ($attachments as $attachment) {
$image_url = wp_get_original_image_url($attachment->ID);
echo '<img src="' . esc_url($image_url) . '" />';
}
説明: メディアギャラリーに保存されているすべての画像のURLを取得し、画像として表示します。
サンプルコード 3: カスタムフィールドからの画像URL取得
$image_id = get_post_meta(get_the_ID(), 'custom_image_id', true);
$image_url = wp_get_original_image_url($image_id);
echo '<a href="' . esc_url($image_url) . '">オリジナル画像を表示</a>';
説明: 投稿のカスタムフィールドから画像のIDを取得し、そのIDを使ってオリジナル画像のURLを生成し、表示します。
サンプルコード 4: 画像ダウンロードリンク
$attachment_id = get_attachment_id(); // 何らかの方法でIDを取得
$image_url = wp_get_original_image_url($attachment_id);
echo '<a href="' . esc_url($image_url) . '" download>ダウンロード</a>';
説明: 画像のオリジナルURLを使って、ユーザーが画像をダウンロードできるリンクを作成します。
サンプルコード 5: 画像の存在確認
$attachment_id = 456; // 添付ファイルのID
$image_url = wp_get_original_image_url($attachment_id);
if (!empty($image_url)) {
echo '<img src="' . esc_url($image_url) . '" />';
} else {
echo '画像が存在しません。';
}
説明: 指定されたIDのオリジナル画像のURLを取得し、画像の存在を確認して表示します。