ACF – Página de opciones Hook (WordPress)

1 minuto de lectura

Realmente estoy haciendo un gran uso de las páginas de opciones y campos repetidores de ACF. Para reducir la cantidad de consultas (de aproximadamente 500 a 80), estoy almacenando en caché algunos resultados de campo con la ayuda de WordPress Transient API.

Sé que el gancho para las páginas de opciones de ACF es:

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

Pero el problema para mí es que tengo varias páginas de opciones. Y no quiero que todas mis funciones se ejecuten cuando se guarda cualquier página de opciones…

Estas son mis páginas de opciones actuales

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');
    }

¿Hay alguna forma de filtrar la acción para que mis transitorios solo se creen cuando se guarda la página de opciones relacionadas?

avatar de usuario
cruzquer

¡Afortunadamente pude resolver mi problema! Eche un vistazo a mi código en el foro de soporte de complementos:
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);

¿Ha sido útil esta solución?