如果不修改核心,就无法做到这一点。
你应该看看.php
位于子目录中的文件,但在根主题目录上方看不到任何内容.css
文件,您将看不到任何JavaScript文件。
如果你看看wp-admin/theme-editor.php
, 相关行是。。。
<?php
$allowed_files = $theme->get_files( \'php\', 1 );
$has_templates = ! empty( $allowed_files );
$style_files = $theme->get_files( \'css\' );
$allowed_files[\'style.css\'] = $style_files[\'style.css\'];
$allowed_files += $style_files;
$theme
is是一个
WP_Theme
表示当前主题的对象。这是在上面创建几行。
这个get_files
方法通过匹配文件扩展名(第一个参数)和使用深度(第二个参数)来搜索目录。第一次呼叫get_files
获取主题目录中的所有PHP文件以及主题目录上一级的任何子目录。
第二个获取主题目录中的所有css文件,但它不会递归地进入子目录(注意缺少$depth
参数)。
对此你无能为力;显然没有任何电话apply_filters
和do_action
在里面theme-editor.php
还有get_files
方法也缺少它们。你的能力相当有限。
当PHP不起作用时,是时候试试丑陋的JavaScript黑客了!
不幸的是,这也不好。我尝试通过JavaScript和ajax将文件添加到列表中,但单击JS添加的文件会导致错误消息,因为调用了函数validate_file_to_edit
将根据以下列表检查要编辑的当前文件:$allowed_files
(请参阅上面获取该信息的代码)。