You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
cosmopet-architecture/wp-content/themes/cosmopet/temp-functions/shortcodes-logic.php

30 lines
1.4 KiB

<?
function requireShortcodes($baseDir) {
$modules = glob($baseDir . '/*', GLOB_ONLYDIR); // glob() — это встроенная PHP-функция для поиска файлов и директорий по шаблонуm, GLOB_ONLYDIR — флаг, указывающий, что нужно вернуть только директории, игнорируя файлы
foreach ($modules as $module) {
$componentsDir = $module . '/shortcodes';
if (is_dir($componentsDir)) {
// Рекурсивно подключаем все shortcodes.php
requireShortcodesRecursive($componentsDir);
}
}
}
function requireShortcodesRecursive($dir) {
// Получаем все подпапки в текущем каталоге
$components = glob($dir . '/*', GLOB_ONLYDIR);
foreach ($components as $component) {
// Проверяем наличие файла shortcode.php в текущей подпапке
$componentController = $component . '/shortcode.php';
if (file_exists($componentController)) {
require_once $componentController;
}
// Рекурсивно вызываем функцию для каждой найденной подпапки
requireShortcodesRecursive($component);
}
}
requireShortcodes(get_template_directory() . '/modules'); // вызывается только тут