it-roy-ru.com

Все файлы 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
1
Tim

Я подозреваю, что 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);}
}
0
majick