WordPressのメディアにアップロードされているファイルのサイズを表示する方法をご紹介いたします。
ファイルのダウンロードページでファイルのサイズも表示しておきたい、といったケースで使える方法です。
WordPressでアップロードされているメディアファイルの容量を表示する方法
ファイルの容量を表示したい箇所に、以下のようなコードを記述します。
<?php $file = 'http://example.com/wp-content/uploads/xxxx/xx/sample.pdf'; //ファイルのURL $file_directory_path = str_replace(esc_url(home_url('/'))."", ABSPATH, $file); //ディレクトリパスに変換 if(is_file($file_directory_path)){ echo size_format(filesize($file_directory_path)); //ファイルサイズの出力 } ?>
ファイルのURLを指定し、それをディレクトリパスに変換して、フォーマットを整えてファイルサイズを出力しています。
WordPressがサブディレクトリにインストールされている場合は、以下のように記述します。2行目の「wp/」の部分が、WordPressがインストールされているディレクトリになりますので、自サイトに合わせて変更してください。
<?php $file = 'http://example.com/wp/wp-content/uploads/xxxx/xx/sample.pdf'; //ファイルのURL $file_directory_path = str_replace(esc_url(home_url('/'))."wp/", ABSPATH, $file); //ディレクトリパスに変換 if(is_file($file_directory_path)){ echo size_format(filesize($file_directory_path)); //ファイルサイズの出力 } ?>
あとがき
上記ではファイルのURLは直接指定していますが、ほとんどの場合がカスタムフィールドの値などを取得して入れることになるかと思います。Toolset Typesなどを使って実装すると、ファイルURLの取得も簡単ですよ。