Wordpressでメディアライブラリの画像のディレクトリパスを取得する方法。

今回使用しているWordpressのバージョンは6.5.4です。

下記は、メディアライブラリのディレクトリパスを取得するための関数です。

echo get_attached_file($id);

出力例は下記のとおり。

/home/hogehoge.com/public_html/wp-content/uploads/2024/06/fugafuga.jpg

出したかったのはURLじゃなくて、上記みたいなパス。
いざ調べても、httpから始まるURLの出し方ばっかり出てきて困る。
そうじゃなくて、サーバー内部におけるパスなんです。Linuxみたいにスラッシュから始まるやつ。

おわり。

余談。

さすがに短すぎるので、なんでこれがやりかったかというと、記事のアイキャッチ画像のmimeタイプを取得したかったのです。
それをやるためにはURLじゃダメで、ディレクトリパスが必要だったのです。
そもそも、ディレクトリパスって言い回しで合ってる?

function get_thumbnail_mimetype() {
	$img_file = get_attached_file(get_post_thumbnail_id());
	$finfo = new finfo(FILEINFO_MIME_TYPE);
	$mime_type = $finfo->file($img_file);
	return $mime_type;
}

参考サイト。

get_attached_file() - 指定したIDの添付ファイルのフルパスを取得する

【簡単】アイキャッチ画像の表示・取得方法【WordPress】 | ジトサイト

【PHP】画像ファイルの種類(拡張子やMIMEタイプ)を取得する方法 – ysklog