Cómo saber si un hook se ha ejecutado ya

La respuesta es fácil pero no muchos conocen esta función:

La función devuelve 1 si el hook ya ha sido ejecutado y 0 si todavía está pendiente.

A veces también necesitaríamos saber todos los hooks que han sido ya ejecutados para saber cuál nos convendría más y si tenemos que cambiar partes de nuestro código para que funcione. En ese caso podemos usar el siguiente código, un poco más pedestre pero que puede llegar a sernos útil:

Aquí tenemos un ejemplo de la salida:

 

array (size=59)
  'muplugins_loaded' => int 1
  'registered_taxonomy' => int 15
  'registered_post_type' => int 14
  'woocommerce_loaded' => int 1
  'plugins_loaded' => int 1
  'sanitize_comment_cookies' => int 1
  'setup_theme' => int 1
  'load_textdomain' => int 17
  'after_setup_theme' => int 1
  'auth_cookie_valid' => int 2
  'set_current_user' => int 1
  'init' => int 1
  'before_woocommerce_init' => int 1
  'woocommerce_integrations_init' => int 1
  'woocommerce_init' => int 1
  'widgets_init' => int 1
  'register_sidebar' => int 3
  'wp_register_sidebar_widget' => int 25
  'woocommerce_register_taxonomy' => int 1
  'woocommerce_register_post_type' => int 1
  'update_option' => int 1
  'update_option__transient_doing_cron' => int 1
  'updated_option' => int 1
  'set_transient__transient_doing_cron' => int 1
  'setted_transient' => int 1
  'http_api_curl' => int 1
  'http_api_debug' => int 1
  'wp_loaded' => int 1
  'auth_redirect' => int 1
  'wp_default_scripts' => int 1
  '_admin_menu' => int 1
  'admin_menu' => int 1
  'admin_init' => int 1
  'wp_default_styles' => int 1
  'admin_bar_init' => int 1
  'add_admin_bar_menus' => int 1
  'current_screen' => int 1
  'load-woocommerce_page_wc-settings' => int 1
  'woocommerce_shipping_init' => int 1
  'woocommerce_load_shipping_methods' => int 1
  'admin_xml_ns' => int 2
  'admin_enqueue_scripts' => int 1
  'woocommerce_admin_css' => int 1
  'admin_print_styles-woocommerce_page_wc-settings' => int 1
  'admin_print_styles' => int 1
  'admin_print_scripts-woocommerce_page_wc-settings' => int 1
  'admin_print_scripts' => int 1
  'wp_print_scripts' => int 1
  'admin_head-woocommerce_page_wc-settings' => int 1
  'admin_head' => int 1
  'adminmenu' => int 1
  'in_admin_header' => int 1
  'admin_bar_menu' => int 1
  'wp_before_admin_bar_render' => int 1
  'wp_after_admin_bar_render' => int 1
  'admin_notices' => int 1
  'all_admin_notices' => int 1
  'woocommerce_page_wc-settings' => int 1
  'woocommerce_settings_start' => int 1

Otra función más que puede resultar interesante es aquella que nos permite saber qué hook se está ejecutando en este mismo momento (aunque realmente lo que no sdice es qué filtro fue el último en ejecutarse)

Anuncios