私は同じ状況に直面しています。Customize_save は、オプションが保存される前に機能するので、それは問題ありません。私はそれについて Otto (ottodestruct.com) にメールしました。
私が今持っている解決策は次のとおりです。
add_action('customize_save', 'regenCSS', 100);
function regenCSS( $wp_customize ) {
checkCSSRegen(); // Checks if I need to regen and does so
set_theme_mod('regen-css', time()+3); // Waits 3 seconds until everything is saved
}
function checkCSSRegen() {
if (get_theme_mod('regen-css') != "" && get_theme_mod('regen-css') < time()) {
makecss();
remove_theme_mod('regen-css');
}
}
また、追加の checkCSSRegen(); を追加します。私のcustomize_controls_init関数に。
繰り返しますが、これはちょっとしたハックです。残念ながら、それは私がその時点でできる最善のことです。
別のオプションは、php ファイルを ping するだけの ajax 応答を使用することです。それはこれよりもハックのように感じます。
別の簡単なハックは、保存ボタンがクリックされたときに、コンパイルを実行する PHP ファイルへの呼び出しを遅らせるようにタイマーを設定する JavaScript アクションを実行することです。それは私にとって非常にハックです。
上記の唯一のフォールバックは、カスタマイザーがリロードされるか、別の値が保存されない限り、必要なすべての値を取得できない可能性があることです。
他の誰かがより良いアイデアを持っていますか?
** 更新 ** 次のリクエストを Wordpress チームに追加しました。うまくいけば、そこに押し込めるでしょう。
http://wordpress.org/ideas/topic/do-customize_save-action-hook-after-the-settings-are-saved?replies=3#post-24853
* Update 2 *
Customize_save_after として 3.6 リリースになるようです。いくつかのツイートとサンプル コードがあれば、Wordpress チームと一緒に何かを実現できると思います。;)