概要
wp_mkdir_p
関数は、指定したパスにディレクトリを作成するためのWordPress関数です。この関数は、ディレクトリが存在しない場合に新たに作成し、必要に応じて親ディレクトリも再帰的に作成します。特に、ファイルのアップロードやプラグインのインストールにおいて、必要なディレクトリ構造を保証する際に頻繁に使われます。
主な機能の使用例
- プラグインやテーマのインストール時に必要なディレクトリを生成する。
- ユーザーがアップロードしたファイルのための格納ディレクトリを作成する。
- カスタムアップロードパスを設定する際にディレクトリを作成する。
- バックアップ処理のためにディレクトリを構築する。
- ログファイルを格納するためのディレクトリを作成する。
- メディアライブラリの整理のためにカスタムフォルダを作成する。
- マルチサイト環境でのアップロードディレクトリを設定する。
- イメージやその他のファイルを整理するためにサブディレクトリを作成する。
構文
wp_mkdir_p( $directory );
パラメータ
$directory
(string): 作成対象のディレクトリのパス。
戻り値
bool
: 成功した場合はtrue
、失敗した場合はfalse
。
関連する関数
使用可能なバージョン
wp_mkdir_p
関数は、WordPress 2.2以降で使用可能です。
コアファイルのパス
wp-includes/functions.php
この関数のアクションでの使用可能性
アクション | 使用例 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード1: ディレクトリの作成
$upload_dir = wp_upload_dir();
$custom_dir = $upload_dir['path'] . '/my_custom_folder';
if (wp_mkdir_p($custom_dir)) {
echo 'ディレクトリを作成しました!';
} else {
echo 'ディレクトリの作成に失敗しました。';
}
このコードは、WordPressのアップロードディレクトリにmy_custom_folder
という新しいディレクトリを作成します。
サンプルコード2: カスタムアップロードパスの設定
function create_custom_upload_dir() {
$custom_dir = WP_CONTENT_DIR . '/custom_uploads';
if (wp_mkdir_p($custom_dir)) {
echo 'カスタムアップロードディレクトリを作成しました。';
}
}
add_action('init', 'create_custom_upload_dir');
このコードは、init
アクションにフックして、カスタムアップロードディレクトリを作成します。
サンプルコード3: プラグインインストール時のディレクトリ作成
function my_plugin_install() {
$dir = WP_PLUGIN_DIR . '/my_plugin/data';
wp_mkdir_p($dir);
}
register_activation_hook(__FILE__, 'my_plugin_install');
このコードは、プラグインがアクティブ化されたときに、プラグイン専用のデータディレクトリを作成します。
サンプルコード4: バックアップディレクトリの作成
function create_backup_directory() {
$backup_dir = ABSPATH . '/backups';
if (wp_mkdir_p($backup_dir)) {
echo 'バックアップディレクトリを作成しました。';
}
}
add_action('admin_init', 'create_backup_directory');
このコードは、管理画面でバックアップ用のディレクトリを作成します。
サンプルコード5: メディアファイルの整理
function create_media_folder() {
$media_dir = wp_upload_dir()['basedir'] . '/sorted_media';
wp_mkdir_p($media_dir);
}
add_action('wp_loaded', 'create_media_folder');
このコードは、メディアライブラリの下にsorted_media
というディレクトリを作成し、アップロードされたファイルを整理できるようにします。
これらのサンプルコードは、すべて著作権フリーのものです。