こんにちは
今後のリリース(Future Release)で機能の追加は検討されていますね。いつになるかは分かりませんが・・・。
https://core.trac.wordpress.org/ticket/46967
パッチがあるので試してみてはと思います。
ダッシュボードに、アップロードディレクトリのサイズを表示するサンプルコードを書いてみました。
この中で使用している recurse_dirsize() でサイズを取得しています。なお、実際の運用で使用する場合は、recurse_dirsize() はディレクトリやファイルが多くなると処理に時間が掛かるので、なにか工夫(キャッシュや ajax など)する必要がでてきそうです。
function dashboard_dirinfo_widget_setup() {
if ( is_multisite() ) {
wp_add_dashboard_widget(
'dirinfo_widget', // ウィジェットを一意識別するスラッグ
'ディレクトリサイズ', // ウィジェットのヘッダに表示される名前
'dashboard_dirinfo_widget' // ウィジェットのコンテンツを表示するように作成した関数の名前
);
}
}
add_action( 'wp_dashboard_setup', 'dashboard_dirinfo_widget_setup' );
function dashboard_dirinfo_widget() {
$upload_dir = wp_get_upload_dir();
$dir_size = recurse_dirsize( $upload_dir['basedir'] );
echo '<ul>';
printf( '<li>アップロードディレクトリのサイズ: %s</li>', size_format( $dir_size, 2) );
printf( '<li>サイトのアップロード容量: %s MB</li>', get_space_allowed() );
printf( '<li>アップロードファイルの最大サイズ: %s KB</li>', get_site_option( 'fileupload_maxk', 1500 ) );
echo '</ul>';
}
早速サンプルコード、ありがとうございます。
一旦プラグイン化して動作確認までできました。
ご提案いただいているように、キャッシュやajax使用を検討したいと思います。
この度はご教示頂き、誠にありがとうございました、