如何在重新加载WP定制器时触发do_action?

时间:2017-05-19 08:02:51

标签: javascript php jquery ajax wordpress

我想在重新加载WordPress定制器的预览时清除插件的缓存,因为我只能看到刷新缓存时所做的更改。我可以手动执行此操作,但我的目标是在WP自定义程序刷新时执行此操作。

我到目前为止:

function px_clear_bb_cache() {
FLBuilderModel::delete_asset_cache_for_all_posts();
}
do_action( 'customize_save', 'px_clear_bb_cache' );

我遇到了以下问题:

  1. 保存自定义程序后,我只能在关闭自定义程序后看到更改。如果定制器在保存时重新加载/刷新将会很棒。
  2. 但更好的将是每次定制器在值更改时重新加载/刷新时都会触发上述php函数。
  3. 也许我需要jQuery + AJAX挂钩到preview_init并触发这个do_action?不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

尝试customize_save_after挂钩。

do_action( 'customize_save_after', 'px_clear_bb_cache' );

文档参考:

https://developer.wordpress.org/reference/hooks/customize_save_after/