Qual è il primo action hook che puoi utilizzare in WordPress?
Dopo che la soluzione a questa domanda è stata quella di far eseguire una funzione PRIMA che l'action init
venga attivato rimuovendo la sequenza dalla sua funzione, mi sono chiesto se esiste un punto ancora precedente nella sequenza di caricamento di WP in cui posso agganciare una funzione?

muplugins_loaded
è l'hook che viene eseguito per primo.
A seconda della configurazione del tuo WordPress, potresti non avere alcun plugin nella directory
MU_PLUGINS
. In tal caso questo hook potrebbe non essere attivato.
L'hook alternativo migliore da attivare è plugins_loaded
.
RISORSE

Sì, ma nota che viene eseguito prima del caricamento dei plugin normali e del tema, quindi è piuttosto inutile nella pratica. plugins_loaded
e after_setup_theme
sono i più precoci appropriati rispettivamente per i plugin normali e il tema.

risposta aggiornata. controlla l'azione desiderata con "Lista degli hook eseguiti".

Questa risposta contiene informazioni molto errate. L'azione muplugins_loaded
non è condizionata da nulla. Verrà eseguita. Se però non ci sono mu-plugins, non sono sicuro di come potresti far eseguire il codice abbastanza presto da usare l'hook.

muplugins_loaded
NON è condizionale, viene sempre attivato. L'unico altro posto in cui questa informazione errata è menzionata in questa forma (anche citata) è un'altra risposta alla stessa domanda su StackOverflow: https://stackoverflow.com/questions/37723323/very-first-wordpress-action-hook.

Per chiunque sia interessato a scoprirlo autonomamente, esiste un fantastico plugin chiamato Query Monitor.
Installa e attiva il plugin (ovviamente su un'installazione di staging o sviluppo) e seleziona semplicemente ciò che desideri dal menu a discesa.

Come menzionato in un commento alla risposta accettata, l'hook muplugins_loaded non è condizionale. Se leggi il codice sorgente scoprirai che viene sempre attivato - almeno nelle versioni recenti di WordPress. Secondo la documentazione è anche il primo hook disponibile. Tuttavia, a meno che tu non stia effettivamente scrivendo un plugin must-use o attivato a livello di rete, non ha molto senso usarlo poiché verrà attivato prima che il tuo plugin o tema venga caricato.
Se stai scrivendo un plugin, allora plugins_loaded è il primo hook di azione generale da utilizzare.
Se stai aggiungendo codice al file functions.php del tuo tema, potresti usare after_setup_theme.

La prima azione che può essere attivata durante il caricamento di una pagina WordPress è mu_plugin_loaded
. Questa azione verrà attivata per ogni Must-Use Plugin, tuttavia se non ci sono Must-Use Plugin nel sistema questa azione non verrà attivata affatto.
La seconda azione che potrebbe essere attivata è network_plugin_loaded
. Simile a mu_plugin_loaded
, ha il potenziale di essere attivata più volte, una per ogni Network Plugin, ma potrebbe anche non essere attivata affatto se non sono presenti Network Plugin.
La prima azione che verrà sempre attivata, incondizionatamente, è muplugins_loaded
(notare la forma plurale e la mancanza di _
rispetto alla forma singolare mu_plugin_loaded
).
Quindi, la sequenza iniziale delle azioni è la seguente:
- 1°:
mu_plugin_loaded
, 0 o più volte. - 2°:
network_plugin_loaded
, 0 o più volte. - 3°:
muplugins_loaded
, esattamente 1 volta.
