我有一系列 WordPress 主题定制器设置,我想注册并输出到主题定制器,它们都注册得很好,而且它们都工作得很好。
这就是我的问题所在,$wp_customize->add_setting 似乎不会通过主题检查器插件的检查,它似乎不喜欢使用变量代替设置的 ID,即使变量包含设置名称。当我遍历我拥有的数组时,主题定制器中的一切都正常(我正在注册的所有设置、控件、部分和面板都在那里,并且在预览窗口中工作和更新甚至刷新),但是在Theme Checker 插件,当测试运行时,我得到这个错误重复 100 次:
警告:preg_match():在第 110 行的 I:\xampp\htdocs\basic\wp-content\plugins\theme-check\checkbase.php 中找不到结束分隔符 '$'
导致问题的行是注册设置的行:
$wp_customize->add_setting($set_name, $items['setting']);
它所指的“结束分隔符”是针对 $set_name 的,但即使主题的功能运行良好,我也找不到在不出现这些错误的情况下传递它的方法。有没有某种方法可以让 add_setting() 方法获取包含我的设置名称的变量?
测试确实完成了,它表明这与问题有关:
必需:在 theme-customizer.php 中找到了一个名为 $set_name 的定制器设置,它没有清理回调函数。对 add_setting() 方法的每次调用都需要传递一个清理回调函数。
它似乎传递的是文字变量名称,而不是它的内容,但是,定制器按预期运行,并以我在设置数组中给出的正确名称注册/保存设置。
有人可以帮忙吗?
编辑:我在 $set_name 周围添加了双引号,它已经停止输出关于分隔符的 100 个错误,但我仍然遇到 REQUIRED 测试的问题,它没有通过,给出与以上。