wp_mkdir_p()


WordPressのwp_mkdir_p()関数は、指定されたパスにディレクトリを作成するために使用されます。この関数は、必要な親ディレクトリも自動的に作成します。

構文

wp_mkdir_p( string $path );
  • $path(string) — 作成するディレクトリのパスを指定します。

例1: 基本的なディレクトリの作成

指定したパスにディレクトリを作成します。

wp_mkdir_p( WP_CONTENT_DIR . '/uploads/new_folder' );

例2: 既存のディレクトリの確認

ディレクトリが既に存在するか確認し、存在しない場合にのみ作成します。

if ( ! file_exists( WP_CONTENT_DIR . '/uploads/existing_folder' ) ) { wp_mkdir_p( WP_CONTENT_DIR . '/uploads/existing_folder' ); }

例3: パーミッションの設定

ディレクトリを作成する際に、特定のパーミッションを設定します。

wp_mkdir_p( WP_CONTENT_DIR . '/uploads/private_folder', 0755 );

例4: プラグイン内での使用

プラグイン内で新しいディレクトリを作成する例です。

wp_mkdir_p( plugin_dir_path( __FILE__ ) . 'logs' );

例5: テーマ内での使用

テーマ内で新しいディレクトリを作成する例です。

wp_mkdir_p( get_template_directory() . '/cache' );

例6: 一時ディレクトリの作成

一時的なディレクトリを作成する例です。

wp_mkdir_p( get_temp_dir() . 'temp_files' );

例7: マルチサイト環境での使用

マルチサイト環境でサイトごとにディレクトリを作成する例です。

wp_mkdir_p( WP_CONTENT_DIR . '/uploads/sites/' . get_current_blog_id() . '/custom_folder' );

例8: エラーハンドリング

ディレクトリ作成時にエラーハンドリングを行う例です。

if ( ! wp_mkdir_p( WP_CONTENT_DIR . '/uploads/error_folder' ) ) { error_log( 'ディレクトリの作成に失敗しました' ); }

注意点

  • ディレクトリのパスは絶対パスで指定する必要があります。
  • パーミッションを設定する場合は、サーバーのセキュリティポリシーに注意してください。
  • 既にディレクトリが存在する場合、この関数は何も行いません。

関連機能: