説明
array wp_upload_dir( [ string $time = null [ , bool $create_dir = true [ , bool $refresh_cache = false ] ] ] )
アップロードディレクトリ(パス名)を取得する。
パラメータ
- $time年月を'yyyy/mm'の書式で指定(省略時はnull)。
- $create_dir[4.5.0]存在しないディレクトリを作成する場合はtrueを指定(省略時はtrue)。
- $refresh_cache[4.5.0]キャッシュを更新する場合はtrueを指定(省略時はfalse)。
返り値
アップロードパスを格納した連想配列を返す。配列の内容は次の通り。| キー名 | 意味 | 値の例 |
| path | アップロード先のフルパス名 | C:\Program Files (x86)\Apache Group\Apache2\htdocs\wp/wp-content/uploads/2011/04 |
| url | アップロード先のURL | http://localhost/wp/wp-content/uploads/2011/04 |
| subdir | ベースディレクトリからのサブディレクトリ名 | /2011/04 |
| basedir | アップロード先ペースディレクトリのパス名 | C:\Program Files (x86)\Apache Group\Apache2\htdocs\wp/wp-content/uploads |
| baseurl | アップロード先ペースディレクトリのURL | http://localhost/wp/wp-content/uploads |
| error | エラー | false |
注意
パラメータ$timeを省略した場合は、その時点の日付に基づいたアップロードパスを取得できる。最新(3.1.1)のWordPressのアップロードディレクトリは、デフォルトで年月ベースのディレクトリに整理するようになっており、その年月ペースの部分が連想配列subdirの値となる。この設定は管理者ページの「設定」-「メディア」で確認・変更することができ、プログラムからは get_option( 'uploads_use_yearmonth_folders' )で確認できる。なおディレクトリが存在しない場合、それらのサブディレクトリを作成するが、作成に失敗した場合には配列のerrorの値にメッセージ(文字列)が格納されるようになっている。
使用例
- 現在のアップロードディレクトリ(パス名)を取得する。<?php $upload_dir = wp_upload_dir(); ?>
- 2011年3月のアップロードディレクトリを取得する。<?php $upload_dir = wp_upload_dir( '2011/03' ); ?>
フィルター
[2.0.0]アップロードディレクトリを作成を試す前に'upload_dir'フィルターを呼び出す。パラメータ$uploadsは返り値となるディレクトリ情報の連想配列となる。$uploads = apply_filters( 'upload_dir', $uploads );
アクション
実行するアクションはありません。ソースファイル
/wp-includes/functions.php最終更新 : 2018年05月27日 10:53
関連
お勧め
ショートコードを使ってテーマ内の画像URLを簡単に指定する(2018年5月27日 更新)
投稿記事の中で画像パーツを使いたいときがある。画像パーツの配置場所は、/imgディレクトリのようなテーマ外の場合と、/wp-content/themes/mytheme/imagesディレクトリのようなテーマ内の場合があり、今回は後者のケース。ショートコードを使って投稿記事の画像ファイルのURLを記述する方法を紹介したい。リクエスト応答を終了する前に何かを処理する(2013年9月26日 更新)
PHPでは、register_shutdown_function関数を使うことでリクエストに対してレスポンスを返した後に何らかの処理を行うことができる。WordPressでもregister_shutdown_function関数は使えると思うのだが、テーマ内のテンプレートでページを表示した後で何かを行う場合はどうすればいいのか、ちょっと調べてみた。
投稿情報を連想配列で参照する(2018年5月27日 更新)
投稿情報は、タイトルや本文、投稿日時といったいくつかのデータが含んでおり、多くの場合オブジェクトになっている。これを連想配列で扱いたい場合はキャストして型変換することが多かった。基本的にはキャストで問題ないのだが、ふと目に留まったto_arrayメソッドが興味深かったのでメモとして残しておく。
段落ブロックに日付・時刻の入力支援を実装した(2023年1月25日 更新)
ブロックエディターには文字入力を支援するAutocompleteがある。自作ブロックだけでなく既存のブロックに適用できるため、ブロックの利用シーンを踏まえた入力支援機能を追加できる。
ブロックエディターのタグ入力にタグクラウド機能を追加した(2019年1月10日 更新)
ブロックエディターのタグ入力には「よく使われているタグから選択」から表示される「タグクラウド」がない。ブロックエディターの不満なところのひとつがこれであり、うまく解消することができないか考えてみた。