Qual è il primo action hook che puoi utilizzare in WordPress?

21 lug 2011, 12:13:08
Visualizzazioni: 39.9K
Voti: 24

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?

1
Commenti

Vorrei davvero che avessero aggiunto una chiamata al plugin prima che l'intero sistema fosse caricato.

Xeoncross Xeoncross
22 gen 2012 06:00:25
Tutte le risposte alla domanda 4
4
19

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

  1. WordPress Codex - Elenco di riferimento delle azioni
  2. Domanda/Risposta: Come ottenere la sequenza di esecuzione degli hook di WordPress?
  3. Domanda/Risposta: Comprendere il caricamento del core di WP
21 lug 2011 13:08:01
Commenti

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.

Rarst Rarst
21 lug 2011 14:09:48

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

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

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.

s_ha_dum s_ha_dum
10 gen 2016 17:08:59

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.

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

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.

Query Monitor plugin in azione

22 ott 2017 18:51:19
0

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.

7 gen 2019 14:33:15
0

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.
11 ago 2024 14:42:53