Intereting Posts

Автоматически включать все php-файлы в каталог дочерних тем

В настоящее время я использую настраиваемую дочернюю тему на нескольких сайтах и ​​хотел бы модулизовать определенные пользовательские функции (например, электронную торговлю), разделив их на отдельные php-файлы и включив в них необходимые (без внесения их в плагины), поскольку в противном случае сложно отслеживать настройки в каждом файле в нескольких вариантах детской темы.

Чтобы сделать это, я хотел бы иметь возможность копировать определенные php-файлы в папку в дочерней теме, и для их включения автоматически. Как я могу это сделать? Я пробовал несколько решений , но они, похоже, не работают в этом контексте. Вот пример кода, который я использовал:

function include_all_php($folder){ foreach (glob("{$folder}/*.php") as $filename) { include $filename; } } include_all_php("includes"); // "includes" is the name of the folder in the child theme 

Я подозреваю, что glob требует, чтобы текущий рабочий каталог работал, поэтому вы можете попробовать передать полный путь файла к существующей функции, которую у вас есть …

 include_all_php(dirname(__FILE__).'/includes'); 

Или сначала установите текущий рабочий каталог:

 setcwd(dirname(__FILE__).'/'); include_all_php('includes'); 

В качестве альтернативы вы также можете использовать scandir :

 $filepath = dirname(__FILE__).'/includes/'; $files = scandir($filepath); foreach ($files as $file) { // match the file extension to .php if (substr($file,-4,4) == '.php') {include($filepath.$file);} }