定制器JS API:定义控制设置

时间:2017-11-20 作者:Taras Dashkevych

我正在尝试使用JS API创建定制器控件。定义控件设置的正确方法是什么?

这是我当前的代码:

var mySetting = new api.Setting( \'section_title\', \'Hello World!\' );
api.add( mySetting );

api.control.add( new api.Control( \'section_title\', {
  type: \'text\',
  section: \'custom-section\',
  setting: mySetting,
  label: \'Enter your custom title\'
} ) );
当我尝试保存更改时,自定义程序显示错误:“设置不存在或无法识别。”

1 个回复
最合适的回答,由SO网友:Weston Ruter 整理而成

必须以某种方式在PHP中注册设置。如果您没有通过$wp_customize->add_setting() 通话时,您必须通过customize_dynamic_setting_args 滤器为什么?为了安全存储设置,必须由服务器对其进行清理和验证。依赖客户端消毒和验证是危险的。此外,Customizer设置将持久化到DB中,并实际将更改应用到站点。这意味着WordPress需要知道设置的用途、预览方式以及保存方式。因此,您可以在JS中自由创建设置,但必须创建customize_dynamic_setting_args 滤器您可以使用此过滤器将给定的设置ID与您定义的特定模式进行匹配。这方面的例子可以在小部件和导航菜单项的核心中找到。

结束

相关推荐

如何使用REST API发送用户元数据?

我正在开发一个在自定义主题中使用Angular的Wordpress 4.8站点,需要将注册Angular模型中的数据保存到Wordpress API中,以便在数据库中进行服务器端存储。所有的表单、路由和用户界面都是在我正在创建的Angular 5主题中构建的。我现在需要向WP REST API发送数据,但需要关于使用哪个端点来正确存储此自定义数据的指导?字段位于典型用户元数据之上,还需要知道通过REST API发送支付数据时使用哪个端点。是否应创建自定义端点来处理注册和支付流程?如果是这样,Wordpre