ACF - 选项页面挂钩(WordPress)
ACF - Options page Hook (Wordpress)
我真的大量使用了 ACF 的选项页面和转发器字段。
为了减少查询量(从大约 500 次减少到 80 次),我在 Wordpress Transient API.
的帮助下缓存了一些字段输出
我知道 ACF 选项页面的挂钩是:
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);
我真的大量使用了 ACF 的选项页面和转发器字段。 为了减少查询量(从大约 500 次减少到 80 次),我在 Wordpress Transient API.
的帮助下缓存了一些字段输出我知道 ACF 选项页面的挂钩是:
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);