WordPress Child Theme新建文件夹未在主题编辑器显示如何解决
问题原因说明
首先这不是你的操作失误,属于WordPress内置主题编辑器的默认规则限制,本身支持自定义目录文件的展示,只是需要额外配置:
- 默认仅扫描主题根目录下的白名单后缀文件,包含
.php/.css/.js/.txt等少数格式,自定义子目录默认不会被纳入扫描范围 - 官方为了降低站点被篡改的安全风险,没有开放自定义目录的自动扫描能力,非标准主题结构的目录和文件默认不会在编辑器列表展示
解决方法
方案1:直接用FTP/服务器文件管理器管理
主题编辑器本身是轻量的简化编辑工具,自定义目录的文件优先通过你上传时用的FTP工具或者服务器后台的文件管理器编辑,安全性和灵活性更高,无需额外配置。
方案2:添加钩子开放自定义目录扫描
如果确实需要在主题编辑器内编辑myFolder下的文件,可以在子主题的functions.php末尾添加如下代码:
add_filter( 'theme_editor_folders', function( $folders, $theme ) { // 仅匹配当前启用的子主题 if ( $theme->get_stylesheet() === get_stylesheet() ) { // 添加自定义目录到扫描列表 $folders[] = get_stylesheet_directory() . '/myFolder'; } return $folders; }, 10, 2 );
添加代码前请提前备份functions.php文件,避免语法错误导致站点无法访问
注意事项
- 主题编辑器的修改操作是直接写入源文件,没有版本回滚能力,修改前请务必备份对应文件
- 若更新子主题,新增的钩子代码会被覆盖,需要重新添加
内容的提问来源于stack exchange,提问作者Ali Rajput
相关产品推荐
相关产品推荐

