Care este cel mai timpuriu action hook pe care îl poți folosi?

21 iul. 2011, 12:13:08
Vizualizări: 39.9K
Voturi: 24

După ce soluția la această întrebare a fost să facem o funcție să se execute ÎNAINTE ca action-ul init să fie declanșat prin scoaterea secvenței din funcția sa, m-am gândit, există vreun moment mai devreme în secvența de încărcare WP în care pot să conectez o funcție?

1
Comentarii

Chiar îmi doresc să fi adăugat un apel de plugin înainte ca întregul sistem să fie încărcat.

Xeoncross Xeoncross
22 ian. 2012 06:00:25
Toate răspunsurile la întrebare 4
4
19

muplugins_loaded este primul hook disponibil.

În funcție de configurația WordPress, este posibil să nu ai niciun plugin în directorul MU_PLUGINS. În acest caz, acest hook poate să nu se declanșeze.

Următorul hook recomandat pentru declanșare este plugins_loaded.

RESURSE

  1. WordPress Codex - Lista de Referință pentru Acțiuni
  2. Întrebare/Răspuns: Cum să obții secvența de rulare a hook-urilor în WordPress?
  3. Întrebare/Răspuns: Înțelegerea Nucleului de Încărcare WP
21 iul. 2011 13:08:01
Comentarii

Da, dar rețineți că rulează înainte de încărcarea pluginurilor normale și a temei, așa că este oarecum inutil în practică. plugins_loaded și after_setup_theme sunt cele mai potrivite pentru pluginurile normale și tema respectiv.

Rarst Rarst
21 iul. 2011 14:09:48

răspuns actualizat. verificați acțiunea dorită cu "Lista de hook-uri executate".

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

Acest răspuns conține informații foarte greșite. Acțiunea muplugins_loaded nu este condiționată de nimic. Se va executa. Totuși, dacă nu există mu-plugins, nu sunt sigur cum ai putea rula codul suficient de devreme pentru a folosi acest hook.

s_ha_dum s_ha_dum
10 ian. 2016 17:08:59

muplugins_loaded NU este condițional, se declanșează întotdeauna. Singurul alt loc unde această informație eronată este menționată în această formă (de asemenea citată) este un alt răspuns la aceeași întrebare pe StackOverflow: https://stackoverflow.com/questions/37723323/very-first-wordpress-action-hook.

Bence Szalai Bence Szalai
11 aug. 2024 14:37:09
0
12

Pentru cei interesați să afle acest lucru singuri, există un plugin minunat numit Query Monitor.

Instalați și activați pluginul (evident, pe o versiune de staging sau development) și selectați ce doriți din meniul derulant.

Monitorizare interogări în WordPress

22 oct. 2017 18:51:19
0

După cum s-a menționat într-un comentariu la răspunsul acceptat, hook-ul muplugins_loaded nu este condițional. Dacă citiți codul sursă, veți descoperi că acesta este întotdeauna declanșat - cel puțin în versiunile recente ale WordPress. Conform documentației, acesta este și primul hook disponibil. Cu toate acestea, dacă nu scrieți efectiv un plugin must-use sau activat la nivel de rețea, nu prea are sens să îl folosiți, deoarece se va declanșa înainte ca plugin-ul sau tema dumneavoastră să fie încărcată.

Dacă scrieți un plugin, atunci plugins_loaded este primul hook general de acțiune pe care îl puteți utiliza.

Dacă adăugați cod în fișierul functions.php al temei dumneavoastră, atunci ați putea folosi after_setup_theme.

7 ian. 2019 14:33:15
0

Prima acțiune care se poate declanșa în timpul încărcării unei pagini WordPress este mu_plugin_loaded. Această acțiune se va declanșa pentru fiecare plugin Must-Use, însă dacă nu există pluginuri Must-Use în sistem, această acțiune nu se va declanșa deloc.

A doua acțiune care se poate declanșa este network_plugin_loaded. Similar cu mu_plugin_loaded, are potențialul de a se declanșa de mai multe ori, o dată pentru fiecare plugin de rețea, dar poate să nu se declanșeze deloc dacă nu există pluginuri de rețea.

Prima acțiune care se va declanșa întotdeauna, fără condiții, este muplugins_loaded (observați forma la plural și absența lui _ față de singularul mu_plugin_loaded).

Deci, începutul secvenței de acțiuni arată astfel:

  • 1: mu_plugin_loaded, de 0 sau de mai multe ori.
  • 2: network_plugin_loaded, de 0 sau de mai multe ori.
  • 3: muplugins_loaded, exact o dată.
11 aug. 2024 14:42:53