我一直在使用此功能自动要求目录中的PHP文件。
function req_php_files($filepath) {
$Directory = new RecursiveDirectoryIterator($filepath);
$Iterator = new RecursiveIteratorIterator($Directory);
$Regex = new RegexIterator($Iterator, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH);
$php_files = array();
foreach ($Regex as $file) {
array_push($php_files, $file[0]);
}
foreach ($php_files as $req_file) {
require_once $req_file;
}
}
直到最近由于某种原因这种情况很有效我现在在加载wp-admin时遇到错误
PHP警告:array_keys()期望参数1为数组,在第1718行的/Applications/MAMP/htdocs/vac3/wp-admin/includes/plugin.php中给出null
PHP警告:在1718行的/Applications/MAMP/htdocs/vac3/wp-admin/includes/plugin.php中为foreach()提供的参数无效
以下是我如何调用函数
$theme_path = 'wp-content/themes/' . get_template() . '/acf';
$theme_path_admin = '../wp-content/themes/' . get_template() . '/acf/';
if (!is_admin()) {
$filepath= new SplFileInfo($theme_path);
} else {
//filepath from admin
$filepath= new SplFileInfo($theme_path_admin);
}
req_php_files($filepath->getRealPath()); ?>
这是/wp-admin/includes/plugin.php中的第1718行
foreach (array_keys( $_wp_submenu_nopriv ) as $key ) {
我的问题是我的函数的哪一部分是将非数组值传递给$ _wp_submenu_nopriv?
答案 0 :(得分:0)
错误是说变量$ _wp_submenu_nopriv不是数组。您需要找到此变量的来源并找出传入的类型。
答案 1 :(得分:0)
这些错误似乎具有误导性。从函数
已经需要的文件中手动请求文件导致的错误该函数需要一个加载下面的
的config.php<?php require_once 'admin.php'; ?>
<?php require_once 'notification.php'; ?>
删除config.php文件清除了错误。