仅使用Java脚本触发定制者保存过程

时间:2013-07-18 作者:Askelon

我正在开发一个自定义主题,它使用WordPress自定义API让用户可以玩他的网站的部分内容,基本上是首页,他可以通过添加/删除自定义块(如最新帖子、页面子项等)来修改。Blacks结构被收集并填入自定义输入。

除了保存之外,一切都很正常,定制程序似乎有一些安全措施阻止我保存输入值:为了保存它,我需要通过选择输入并按键手动触发Javascript“keypress”事件。如果没有,提交按钮将保持禁用状态。

通过浏览/wp admin/js/customize控件。js I设法激活提交按钮:

wp.customize.trigger(\'change\')
但是,即使保存的东西已解锁,也没有任何效果:输入值不会发送到admin\\u ajax。php和我的数据未保存。

你知道如何强制Javascript API上的触发器来保存数据吗?我在WP-JS-API上找不到详细的文档,如果我在某个地方遗漏了它,这也会有所帮助。

1 个回复
SO网友:Matthew

使用wp.customize 对象的set() 功能(位于customize-base.js):

wp.customize( key, function ( obj ) {
    obj.set( newValue );
} );
在哪里key 是设置,并且newValue 是更新的值。

另外,值得注意的是,在扩展的类中WP_Customize_Control, 确保使用$this->get_link() 要放置数据属性data-customize-setting-link 在自定义输入上(在中找到class-wp-customize-control.php).

结束