小部件更改在定制器AJAX错误到许多选项?

时间:2018-08-18 作者:Benn

只是通过customizer测试前端小部件的更改,我甚至无法更改标题。Ajax回应说

{"success":false,"data":"widget_setting_too_many_options"}
还有一个通知http://prntscr.com/kk518f 但任何地方都没有错误。

通知来自这里https://github.com/WordPress/WordPress/blob/56c162fbc9867f923862f64f1b4570d885f1ff03/wp-includes/class-wp-customize-widgets.php#L1471

如果我读对了,它会说,如果捕获的选项数大于1,则停止,这意味着它不知何故“看到”标题的重复选项。

我找不到这方面的任何参考资料。非常感谢您的帮助。

1 个回复
SO网友:Mark Kaplun

自定义程序无法/不会跟踪对多个选项的更改。我不知道为什么,但这是一个明确的设计限制。您的小部件代码很可能试图更新选项。

通常,无论自定义程序是什么,都不应该这样做。小部件的所有设置都应限制在相关选项中的on存储。任何全局设置都应该有一个全局管理界面来控制它,就像一个专用的管理窗口。

结束

相关推荐

Using add_filter() in Widgets

只需查询引用add_filter() 作用您可以在WordPress小部件类中使用此函数吗。Example我有一个带有动态创建代码的小部件,我想将其传递给插件中创建的另一个函数。这能实现吗?<?php /** * Display the actual Widget * * @param Array $args * @param Array $instance */ public function widget($args, $inst