¿Cuál es el primer hook de acción que puedes utilizar?

21 jul 2011, 12:13:08
Vistas: 39.9K
Votos: 24

Después de que la solución a esta pregunta fue hacer que una función se ejecute ANTES de que se dispare la acción init sacando la secuencia de su función, me quedé pensando, ¿hay algún punto más temprano en la secuencia de carga de WP donde pueda enganchar una función?

1
Comentarios

Realmente desearía que hubieran añadido una llamada al plugin antes de que todo el sistema se cargara.

Xeoncross Xeoncross
22 ene 2012 06:00:25
Todas las respuestas a la pregunta 4
4
19

muplugins_loaded es el hook más temprano.

Dependiendo de tu configuración de WordPress, puede que no tengas ningún plugin en el directorio MU_PLUGINS. En ese caso, este hook podría no ejecutarse.

El siguiente mejor hook para activar es plugins_loaded.

RECURSOS

  1. WordPress Codex - Lista de Referencia de Acciones
  2. P/R: ¿Cómo obtener la secuencia de ejecución de los hooks de WordPress?
  3. P/R: Entender el núcleo de carga de WP
21 jul 2011 13:08:01
Comentarios

Sí, pero ten en cuenta que se ejecuta antes de la carga de plugins normales y del tema, por lo que en la práctica es algo inútil. plugins_loaded y after_setup_theme son los más tempranos apropiados para plugins normales y el tema respectivamente.

Rarst Rarst
21 jul 2011 14:09:48

respuesta actualizada. Verifica la acción deseada con la "Lista de ejecución de hooks".

T.Todua T.Todua
10 jul 2015 18:10:36

Esta respuesta contiene información muy incorrecta. La acción muplugins_loaded no está condicionada a nada. Se ejecutará. Sin embargo, si no hay mu-plugins, no estoy seguro de cómo podrías ejecutar código lo suficientemente temprano para usar este hook.

s_ha_dum s_ha_dum
10 ene 2016 17:08:59

muplugins_loaded NO es condicional, siempre se ejecuta. El único otro lugar donde se menciona esta información incorrecta en esta forma (también citada) es otra respuesta a la misma pregunta en StackOverflow: https://stackoverflow.com/questions/37723323/very-first-wordpress-action-hook.

Bence Szalai Bence Szalai
11 ago 2024 14:37:09
0
12

Para cualquiera que esté interesado en descubrir esto por su cuenta, hay un plugin increíble llamado Query Monitor.

Instala y actívalo (obviamente en un entorno de desarrollo o staging) y simplemente selecciona lo que deseas desde el menú desplegable.

Plugin Query Monitor en acción

22 oct 2017 18:51:19
0

Como se mencionó en un comentario sobre la respuesta aceptada, el hook muplugins_loaded no es condicional. Si lees el código fuente, encontrarás que siempre se ejecuta, al menos en versiones recientes de WordPress. Según la documentación, también es el primer hook disponible. Sin embargo, a menos que realmente estés escribiendo un plugin de uso obligatorio (must-use) o activado en red, no tiene mucho sentido usarlo, ya que se ejecutará antes de que tu plugin o tema se cargue.

Si estás escribiendo un plugin, entonces plugins_loaded es el primer hook de acción general que puedes usar.

Si estás añadiendo código al archivo functions.php de tu tema, entonces podrías usar after_setup_theme.

7 ene 2019 14:33:15
0

La primera acción que puede ejecutarse durante la carga de una página de WordPress es mu_plugin_loaded. Esta acción se ejecutará para cada plugin Must-Use (de uso obligatorio), sin embargo, si no hay plugins Must-Use en el sistema, esta acción no se ejecutará en absoluto.

La segunda acción que puede ejecutarse es network_plugin_loaded. Similar a mu_plugin_loaded, tiene el potencial de ejecutarse múltiples veces, una vez por cada plugin de red, pero también puede no ejecutarse si no hay plugins de red presentes.

La primera acción que siempre se ejecutará, incondicionalmente, es muplugins_loaded (nota la forma plural y la falta de _ en comparación con la forma singular mu_plugin_loaded).

Así que el comienzo de la secuencia de acciones se ve así:

  • 1º: mu_plugin_loaded, 0 o más veces.
  • 2º: network_plugin_loaded, 0 o más veces.
  • 3º: muplugins_loaded, exactamente 1 vez.
11 ago 2024 14:42:53