我确实在大量使用ACF的选项页面和转发器字段。
为了减少查询数量(从大约500个减少到80个),我借助Wordpress Transient API缓存了一些字段输出。

我知道ACF选项页面的 Hook 是:

add_action( 'acf/save_post', 'reference_function') );

但是对我来说,问题是我有多个选项页面。而且我不希望我的所有功能在保存任何选项页时都可以运行…

这些是我目前的选项页面
add_filter('acf/options_page/settings', 'my_acf_options_page_settings');
if(function_exists("register_options_page")) {
        acf_add_options_page();
        register_options_page('Spielübersicht');
        register_options_page('Mannschaft');
        register_options_page('SCHWALBE arena TV');
        register_options_page('Sponsoren');
        register_options_page('Werbung');
        register_options_page('Einstellung');
        register_options_page('Fanclubs');
        register_options_page('Sidebar');
    }

有没有一种方法可以过滤操作,以便仅在保存相关选项页面时创建我的瞬变?

最佳答案

幸运的是我能够解决我的问题!
在插件的支持论坛中查看我的代码:
http://support.advancedcustomfields.com/forums/topic/acfsave_post-for-specific-options-page/

function clear_advert_main_transient() {
    $screen = get_current_screen();
    if (strpos($screen->id, "acf-options-adverts") == true) {
        delete_transient('advert_main_transient1');
        delete_transient('advert_main_transient2');
        delete_transient('advert_main_transient3');
    }
}
add_action('acf/save_post', 'clear_advert_main_transient', 20);

10-06 00:56