Cum să incluzi toate fișierele dintr-un director în functions.php?
Fișierul meu functions.php include alte fișiere de funcții situate într-un director 'functions'.
În prezent, acestea sunt adăugate individual, în formatul acestui exemplu:
include('functions/login.php');
Cum pot modifica acest lucru pentru a include toate fișierele din directorul 'functions', fără a le lista individual?

Puteți include/require toate fișierele *.php recursiv folosind următoarea funcție.
foreach(glob(get_template_directory() . "/*.php") as $file){
require $file;
}
Alternativ, puteți folosi și următoarea funcție.
$Directory = new RecursiveDirectoryIterator(get_template_directory().'functions/');
$Iterator = new RecursiveIteratorIterator($Directory);
$Regex = new RegexIterator($Iterator, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH);
foreach($Regex as $yourfiles) {
include $yourfiles->getPathname();
}
P.S Am obținut soluția De Aici.

@ JItendra Rana ... Mulțumesc. Se poate modifica acest cod pentru a include fișiere din sub-directoarele din interiorul directorului 'functions'?

Dorești să incluzi toate fișierele recursiv din toate sub-directoarele?

Am actualizat răspunsul cu o soluție mai elegantă pentru directoare recursive. Te rog verifică

@ JItendra Rana ... Mulțumesc. Primesc diverse erori cu codul actualizat, așa că voi folosi în schimb sugestia ta anterioară, care cred că a fost: foreach(glob('/add_path_to_theme/wp-content/themes/theme-name/functions/*.php') as $file) {include $file;} Dacă acesta este codul tău, ar putea fi util să-l adaugi din nou în actualizarea ta, astfel încât și alții să-l poată accesa.

Iată cum am făcut acest lucru din fișierul meu functions.php din WordPress:
/**
* Funcții
* Încarcă toate fișierele PHP din directorul /functions/
*/
foreach (glob(get_template_directory() . "/functions/*.php") as $function) {
$function = basename($function);
require get_template_directory() . '/functions/' . $function;
}
