问题描述

什么时候适合使用设置 API,什么时候最好使用主题定制程序?

每天上午都有 Google 搜索,我没有找到任何有关这个问题的考虑和最新的指导。虽然说还不早,我觉得主题定制工具是引入更多 Squarespace-like 编辑功能的一个提示性的第一步。有谁知道任何计划落幕设置 API 赞成主题定制?我们是否应该慢慢走向,还是坚持使用 API​​?他们可以住 side-by-side,如果是,分工在哪里呢?

最佳解决方案

这个问题的前提是有缺陷的。 Customizer API 不是一个选项 API,而是一个选项预览 API 。 Customizer API 依赖于设置 API 或主题模块 API 来注册通过两个 API 中添加的现有设置的控件。

定制程序不能 – 也不能 – 定义/注册尚未通过设置 API 或主题模块 API 注册的新设置。说不同的方式:Customizer API 不是直接向数据库添加设置或直接从数据库检索设置的 API; 相反,Customizer API 使用 「设置」API 或 「主题模块」API 来保存数据库的设置或从数据库中检索设置。

因此,Customizer API 不能替代现有的选项 API 之一; 相反,它是设置页面的替代方案。定制程序不关心设置是通过设置 API 还是主题模块 API 注册,而这些设置可以在 Customzer 中进行混合和匹配。事实上,在大多数情况下,这些设置是混合和匹配的:自定义标题和自定义背景是主题模式,站点标题和描述是设置 API 。

要了解通过 Customizer API 注册的设置和控件,我建议您阅读 Otto 的优秀教程:

因此,问题不是/或与指定的 API 有关。适当的/或问题将是:

  • 使用 Settings API 或 Theme Mods API 将 register existing settings 通过 Customizer API 进行预览

  • 使用 Customizer API 或自定义主题设置页面允许用户配置主题选项。

次佳解决方案

简单的事情有时可能是:设置 API 不是主题定制器。两者对于不同的任务都是不同的。

设置 API

你正在编写一个插件,或者有一个主题没有选择,不需要任何视觉反馈?使用此选项。

主题定制器

您需要具有用户可以看到的视觉效果的选项?使用此选项。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。