WordPress のコンテンツファイルのパス取得方法

WordPress でアップロードした画像や記事への添付ファイル等の絶対パスが欲しい場合があります。何らかの都合でファイルにコピーや削除などの操作をしたい場合が考えられます。

URLを取得する関数はいろいろとあり、例えば、wp get attachment url() で添付ファイルのURLが取得できますし、wp get attachment thumb url() ではサムネイル画像のURLが取得できます。また、wp_get_attachment_image_src() ではリサイズ済みの添付画像のURLが取得できます(この関数では縦横の画素数も取得できます)。

さて、絶対パスの取得方法ですが、対象の画像が wp-content フォルダ内にアップロードされていることを前提とします。この場合、WP_CONTENT_URL, WP_CONTENT_DIR という定数がありますので、次のようにすれば絶対パスが取得できます。なお、3番目の引数 $url が対象ファイルの URL です。

$path = str_replace(WP_CONTENT_URL, WP_CONTENT_DIR, $url);
 
pagetop