Как включить все файлы из папки в functions.php?
Мой functions.php включает другие файлы функций, расположенные в папке 'functions'.
Сейчас они подключаются индивидуально, в таком формате:
include('functions/login.php');
Как изменить это, чтобы автоматически включать все файлы из папки 'functions' без их перечисления?

Вы можете рекурсивно подключить все файлы *.php, используя следующую функцию.
foreach(glob(get_template_directory() . "/*.php") as $file){
require $file;
}
Альтернативно вы также можете использовать следующую функцию.
$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. Нашел решение здесь.

@ JItendra Rana ... Спасибо. Можно ли это изменить, чтобы включить файлы из подкаталогов внутри директории 'functions'?

Обновил ответ на более элегантное решение для рекурсивных директорий. Пожалуйста, проверьте

@ JItendra Rana ... Спасибо. Я получаю различные ошибки с обновленным кодом, поэтому буду использовать ваше предыдущее предложение, которое, как я думаю, было: foreach(glob('/add_path_to_theme/wp-content/themes/theme-name/functions/*.php') as $file) {include $file;} Если это ваш код, возможно, стоит добавить его снова в обновление, чтобы другие могли его использовать.

Вот как я это реализовал в файле functions.php WordPress:
/**
* Функции
* Подключаем все PHP-файлы из директории /functions/
*/
foreach (glob(get_template_directory() . "/functions/*.php") as $function) {
$function = basename($function);
require get_template_directory() . '/functions/' . $function;
}
