list_files()


WordPressの関数list_files()は、指定されたディレクトリ内のすべてのファイルをリスト化するために使用されます。この関数はテーマやプラグインの開発時に、特定のディレクトリ内のファイルを取得する際に役立ちます。

構文

list_files( string $folder = '', int $levels = 100 );

引数の説明:

  • $folder (string) — スキャンするディレクトリのパス。
  • $levels (int) — サブディレクトリを再帰的にスキャンする深さ。デフォルト値は100。

例 1: テーマディレクトリのファイルをリスト表示

以下のコードは、現在のテーマディレクトリ内のすべてのファイルをリスト化します。

<?php 
$files = list_files( get_template_directory() );
print_r( $files );
?>

例 2: 特定のディレクトリのファイルをリスト表示

プラグインディレクトリ内のすべてのファイルを取得する例です。

<?php 
$plugin_files = list_files( WP_PLUGIN_DIR );
print_r( $plugin_files );
?>

例 3: 再帰的スキャンの深さを制限

サブディレクトリのスキャン深さを3に制限した場合の例です。

<?php 
$limited_files = list_files( get_template_directory(), 3 );
print_r( $limited_files );
?>

例 4: 特定のパス内のPHPファイルのみを取得

特定のディレクトリからPHPファイルだけを取得するフィルタリング例です。

<?php 
$files = list_files( get_template_directory() );
$php_files = array_filter( $files, function( $file ) {
    return substr( $file, -4 ) === '.php';
});
print_r( $php_files );
?>

例 5: ファイルを条件付きで操作

リストされたファイルをループで回し、特定の操作を行う例です。

<?php 
$files = list_files( WP_CONTENT_DIR );
foreach ( $files as $file ) {
    if ( strpos( $file, '.css' ) !== false ) {
        echo 'CSSファイル: ' . $file . '<br>';
    }
}
?>

注意事項

関数list_files()を使用する際は、パスのセキュリティを考慮してください。外部入力からの値を直接渡さないようにし、常に適切なバリデーションとサニタイズを行ってください。


関連機能: