Cargando Core...

πŸ› οΈ Tabla de Hooks Principales del Core de WordPress

1.- Hooks Principales del Core de WordPress

HookTipoMomento de EjecuciΓ³n (Ciclo de Vida)Uso Principal / Caso PrΓ‘cticoParΓ‘metros Clave
plugins_loadedActionInmediatamente despuΓ©s de cargar todos los plugins activos.Inicializar plugins, comprobar dependencias entre plugins, cargar textdomains (traducciones).N/A
after_setup_themeActionInmediatamente despuΓ©s de cargar el functions.php del tema activo.Registrar soporte del tema (add_theme_support), definir menΓΊs nativos (register_nav_menus).N/A
initActionTras cargar el entorno de WP y antes de procesar cabeceras HTTP o consultas.Registrar Custom Post Types, TaxonomΓ­as, Rewrite Rules, inicializar sesiones PHP.N/A
admin_initActionSolo en wp-admin / AJAX. Tras la inicializaciΓ³n del panel de administraciΓ³n.Registrar ajustes con la Settings API (register_setting), procesar guardados de formularios admin.N/A
admin_menuActionAl construir la estructura de menΓΊs del panel de administraciΓ³n.Crear pΓ‘ginas de opciones y submenΓΊs en el admin (add_menu_page, add_submenu_page).N/A
wp_loadedActionTras la carga total de WordPress y la sesiΓ³n del usuario actual.Procesar formularios en el frontend (envΓ­os POST), redirecciones previas a renderizado.N/A
parse_requestActionTras parsear la URL recibida segΓΊn las reglas de reescritura.Inspeccionar o modificar las variables de consulta ($wp->query_vars) antes de consultar la BD.\WP $wp
query_varsFilterDurante el filtrado de variables pΓΊblicas en $wp->parse_request().AΓ±adir variables de URL personalizadas a la lista blanca de WordPress.array $public_query_vars
pre_get_postsActionJusto antes de ejecutar la consulta SQL principal de $wp_query.Alterar la consulta de la base de datos (ej: cambiar posts_per_page, filtrar CPTs en bΓΊsquedas).\WP_Query $query
template_redirectActionTras resolver la consulta $wp_query y definir quΓ© pΓ‘gina se estΓ‘ cargando.Redirecciones HTTP (301/302), comprobaciΓ³n de muros de pago, cortar la ejecuciΓ³n (exit) para vistas custom.N/A
template_includeFilterEn template-loader.php, justo antes de incluir el archivo .php del tema.Sobrescribir el archivo de plantilla a renderizar (como vimos en nuestro Template_Enforcer).string $template (Ruta absoluta)
wp_enqueue_scriptsActionAntes de procesar la cabecera HTML en peticiones frontend.Encolar hojas de estilo CSS (wp_enqueue_style) y scripts JS (wp_enqueue_script).N/A
admin_enqueue_scriptsActionAntes de renderizar la interfaz de administraciΓ³n (wp-admin).Encolar scripts o estilos exclusivos para el panel de administraciΓ³n.string $hook_suffix
wp_headActionDentro de la etiqueta <head> del HTML.Imprimir favicons, meta tags, pixels de analΓ­tica o scripts inline globales.N/A
body_classFilterAl invocar la funciΓ³n body_class() en la etiqueta <body>.AΓ±adir o quitar clases CSS al elemento <body> segΓΊn el contexto de la pΓ‘gina.array $classes, array $class
the_contentFilterAl invocar la funciΓ³n the_content() para mostrar el cuerpo de un post/pΓ‘gina.Modificar el HTML del contenido (inyectar banners, filtrar palabras, transformar shortcodes).string $content
wp_footerActionJusto antes de la etiqueta de cierre </body>.Imprimir scripts JS en el pie, modales Bootstrap, badges de depuraciΓ³n (como nuestro Laboratorio).N/A
save_postActionAl guardar, actualizar o crear una entrada en la base de datos.Guardar campos personalizados (meta keys), actualizar cachΓ©s, enviar notificaciones por mail.int $post_id, \WP_Post $post, bool $update
wp_insert_post_dataFilterJusto antes de que los datos de un post sean insertados o actualizados en la BD.Sanitizar, modificar o validar tΓ­tulos, slug o estado del post antes de ejecutar el SQL.array $data, array $postarr

⏱️ El Ciclo de Vida Resumido en 4 Fases Clave

Plaintext

πŸ’‘ Reglas de Oro para Trabajar con Hooks

  1. Usa pre_get_posts en lugar de query_posts() o segundas consultas:

    Modificar la consulta principal con pre_get_posts evita hacer dos peticiones SQL consecutivas a la base de datos. AsegΓΊrate siempre de validar $query->is_main_query() para no alterar widgets o subconsultas secundarias.

  2. Acciones no retornan valor, los Filtros SÍ:

    En add_action, la funciΓ³n realiza una operaciΓ³n (ej: enviar un email, encolar un script). En add_filter, la funciΓ³n debe retornar obligatoriamente el valor recibido, modificado o no, o romperΓ‘s la cadena de datos de WordPress:

    3.- Gana la batalla de prioridades cuando sea necesario:

    Si necesitas que tu cΓ³digo se ejecute despuΓ©s de cualquier plugin comercial o maquetador, usa prioridades altas (999 o mayores). Si necesitas adelantarte a todos, usa prioridades bajas (1 a 5).

Scroll al inicio