Answers:
问题的前提是有缺陷的。该定制API是不是一个选项 API,而是一个选项预览 API。Customizer API依赖于Settings API或Theme Mods API来注册通过两个API之一添加的现有设置的控件。
Customizer不能(也不能)定义/注册尚未通过Settings API或Theme Mods API 注册的新设置。换句话说:Customizer API不是直接向数据库添加设置或直接从数据库检索设置的API;相反,Customizer API 使用 Settings API或Theme Mods API将设置保存到数据库或从中检索设置。
因此,Customizer API不能替代现有的选项API之一;相反,它是设置页面的替代方法。Customizer不在乎设置是通过Settings API还是Theme Mods API注册的,此类设置可以在Customzer中进行混合和匹配。实际上,在大多数情况下,此类设置是混合和匹配的:自定义标头和自定义背景是主题模块,而网站标题和说明是设置API。
为了确切地了解如何通过Customizer API注册设置和控件,我建议阅读Otto的优秀教程:
因此,问题既不是针对指定的API,也不是针对指定的API。适当的一个或一个问题是:
有时可能会很简单:Settings API 不是主题定制器。对于不同的任务,两者都是不同的东西。
您是在编写插件还是主题不包含不需要任何视觉反馈的选项?使用此选项。
您需要具有用户应该能够看到的视觉效果的选项吗?使用此选项。
console.log()
您执行所有操作,以便了解触发了什么和中断了什么。JavaScript调试并不容易...