Macht ein require_once für alle Files eines Folders

Ich war es leid in Wordoress immer wenn ich eine neue Datei anlege diese erst in der functions.php manuell zu requiren. Mit dem Script werden alle Files eingebettet die in einem Folder sind. Praktisch.

<?php
 
/**
 * Require_once für alle Files in einem Theme Folder.
 * Z.b. THEME/functions/*.php
 *
 * @param  string $folder   Directory aus dem Includiert werden soll, z.B. "functions/"
 * @param  string $suffix   Optional.  Auf was die Dateien enden müssen. Default: '.php'
 *
 */
function require_all_files( $folder = 'functions/', $suffix = '.php' ){
	$search_path = get_template_directory() . '/' . $folder . '*' . $suffix;  // Achtung: get_template_directory() ist eine Wordpress Funktion
 
	foreach( glob( $search_path ) as $file ) {
	    require_once $file;
	}
 
}

Beispielanwendung in Wordpress

So nutze ich es in Wordpress in der functions.php

/* ******************* *\
 *
 *        HELPER
 *
\* ******************* */
 
require_once 'functions/helper/require_all_files.php'; // Ermöglicht es ganze Folder automatisch zu includen
 
 
 
/* ******************* *\
 *
 *     VENDOR
 *
\* ******************* */
 
//require_once 'functions/plugin-management/plugins.php'; // Reuqiered WP-Plugins
require_all_files( 'functions/plugin-management/' );
require_all_files( 'functions/template-engine/' );
 
 
 
/* ******************* *\
 *
 *     THEME SETUP
 *
\* ******************* */
 
// Hier sind alle Files drin, wie theme_support, styles, scripts & menus
require_all_files( 'functions/theme-setup/' );
 
 
 
/* ******************* *\
 *
 *    GENERAL FUNCTIONS
 *
\* ******************* */
 
// Hier allgemeine Funktionen drin, die Files heißen
// wie die Funktion die man in Ihr findet
require_all_files( 'functions/' );

Page Tools