Intereting Posts
Отобразить первый тег, назначенный сообщению Исправлен номер версии для кэшированных таблиц стилей и javascript Пользовательские поля подсказки поля обмена метаданных всплывают иерархическая справка wp_list_pages Функция: Добавить ссылку на / внутри div используя <form action = "file.php" Выбор нескольких пользовательских классов TinyMCE Неизвестная сортировка при импорте дампа из существующего сайта в базу данных разработки? Определенный способ разрешить пользователям WordPress просматривать их текущий пароль? И отредактировать его? Инициализировать add_action () для каждой копии определенного короткого кода angularjs не отображает все сообщения Не удается сохранить метаданные типа персонализированного сообщения получить «больше» с пользовательским запросом БД, как с WP Query Как сделать навигационное меню wordpress использовать почтовые метаданные Получение данных с другого веб-сайта приводит к медленному веб-сайту?

Показать список загруженных php-файлов из плагинов

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

functions.php

class IncludedPartGrabber { private $main; private $root; private $switch = false; public function setup($template) { $this->root = wp_normalize_path(get_theme_root()); // theme folder $this->main = wp_normalize_path($template); // main template return $template; } public function grab() { return array_filter(get_included_files(), array($this, 'filter') ); } private function filter($file) { $norm = wp_normalize_path($file); if ($norm === $this->main) $this->switch = TRUE; // after main template all files are good to be included return $this->switch && strpos($norm, $this->root) === 0; // true if file is in theme dir } } $grabber = new IncludedPartGrabber; add_action('template_include', array($grabber, 'setup')); add_action('wp_footer', function() use($grabber) { echo '<pre>'; print_r($grabber->grab()); // see your footer :) echo '</pre>'; }); 

Затем в footer.php

 <pre><?php print_r($GLOBALS['grabber']->grab()); ?></pre> 

В setup установите корень папки плагина:

 $this->plugin_root = wp_normalize_path( WP_PLUGIN_DIR ); 

Затем измените filter чтобы проверить, находится ли файл в корне пользователя или корневом плагине:

 return $this->switch && ( strpos($norm, $this->root) === 0 || strpos($norm, $this->plugin_root) === 0 ); 

или показать все включенные файлы, не фильтровать ни один из полученных результатов:

 return get_included_files();