Nella programmazione, l'inizializzazione dei dati è importante in quanto è dove impostiamo i prerequisiti per l'applicazione come i suoi attributi, i suoi file e dati richiesti, la sua connessione al database e così via.
WordPress stesso ha una procedura di inizializzazione ben definita. Attraverso il ciclo di vita della pagina, WordPress attiva una serie di azioni molte delle quali trattate negli articoli precedenti. A tal fine, fornisce una serie di hook di inizializzazione che vengono naturalmente utilizzati per inizializzare l'applicazione prima di eseguire la sua funzionalità primaria.
Come sviluppatori di plugin e temi, è importante capire i casi d'uso e errori comuni di questi hook di inizializzazione, al fine di creare applicazioni di qualità.
In questo articolo, daremo un'occhiata all'importanza degli hook di inizializzazione di WordPress e al modo in cui vengono utilizzati in vari scenari.
WordPress offre una vasta gamma di hook che possono essere utilizzati nello sviluppo di plugin e temi.
In una tipica richiesta di pagina, tutti i hook di azione vengono eseguiti in un determinato ordine. In particolare, tutti gli hook vengono eseguiti dopo che l'applicazione core WordPress completa il processo di caricamento.
Quindi i ganci di inizializzazione sono principalmente utilizzati, avete indovinato, inizializzare il processo in plugin e temi. Diamo un'occhiata al disponibile dentro
ganci in WordPress, nell'ordine della loro esecuzione:
register_widget
la funzione viene eseguita all'interno di questo hook.admin_bar_init
, che viene eseguito dopo l'inizializzazione della barra di amministrazione. Il codice WordPress non fornisce una spiegazione di questo hook e non molti plugin utilizzano questo hook. È inoltre possibile rivedere l'intero processo di esecuzione degli hook di azione di WordPress nel Codex.
WordPress esegue ogni hook in un certo ordine (che puoi vedere nel Codex). Pertanto, è importante considerare l'ordine di occorrenza nell'utilizzo di ciascun hook di azione. Considerare i seguenti scenari per identificare le differenze.
admin_init
Dentro il dentro
gancioSe necessario, possiamo definire gli hook di WordPress all'interno di altri hook. In una tipica richiesta, dentro
ganci corre prima del admin_init
gancio. Quindi proviamo a produrre qualcosa posizionando admin_init
dentro il dentro
gancio:
add_action ('init', 'test_init'); function test_init () add_action ('admin_init', 'test_admin_init'); function test_admin_init () echo "Admin Init Inside Init";
Dopo aver eseguito questo codice, otterremo l'output desiderato usando il eco
dichiarazione.
dentro
Dentro il admin_init
gancioVediamo il codice e l'output di questo scenario in cui un hook precedente viene definito all'interno di un hook che viene in seguito nell'ordine di esecuzione.
add_action ('admin_init', 'test_admin_init'); function test_admin_init () add_action ('init', 'test_init'); function test_init () echo "Init Inside Admin Init";
Qui, non otterremo alcun output - questo è previsto - perché il dentro
il gancio viene eseguito prima admin_init
gancio, e quindi non è disponibile dopo aver definito il admin_init
gancio.
Come puoi vedere, è fondamentale comprendere la procedura di esecuzione degli hook per creare plugin di successo. L'ordine di occorrenza è importante per tutti gli hook di WordPress.
dentro
e admin_init
ganciTra i ganci di init, dentro
e admin_init
vale la pena esplorare poiché questi due ganci sono ampiamente utilizzati in molti plugin. L'utilizzo di altri hook di inizializzazione è semplice rispetto a questi due hook.
In quanto tale, esamineremo la funzionalità di dentro
e admin_init
ganci.
Il dentro
gancio viene eseguito in ogni richiesta di tutti e due il frontend del sito WordPress e il back-end.
Il admin_init
il gancio è eseguito dopo la sezione di amministrazione completa il processo di caricamento. Quindi questo hook si esegue anche su ogni richiesta della pagina admin. Gli utenti devono essere loggati per approfittare di questo hook.
Poiché entrambi questi hook vengono eseguiti su ogni singola richiesta, dobbiamo pianificare le funzionalità all'interno dell'implementazione di questi hook in modo che possano influire notevolmente sulle prestazioni del sito.
dentro
ganciGeneralmente, gli hook di inizializzazione sono disponibili nella maggior parte dei plugin WordPress esistenti e sono essenziali per la gestione del loro processamento.
WordPress non definisce ciò che dovremmo e ciò che non dovremmo includere; pertanto, gli sviluppatori possono commettere errori minori che, a loro volta, possono comportare un enorme calo delle prestazioni. In questa sezione, vedremo come possiamo utilizzare entrambi in modo efficace dentro
e admin_init
ganci.
Diamo un'occhiata alle migliori pratiche nell'utilizzo degli hook di init.
dentro
ganciodentro
gancio per la registrazione di nuovi tipi di messaggi personalizzati.dentro
gancio in quanto garantisce l'esecuzione in ogni richiesta.dentro
agganciare, ma tieni presente che queste nuove regole diventeranno effettive solo dopo aver eliminato le regole di riscrittura.dentro
gancio.dentro
gancio.admin_init
gancioadmin_init
è la prima azione da eseguire nell'area di amministrazione in modo che possiamo usarla per gestire il controllo degli accessi.Esistono molte altre possibili implementazioni con questi hook, ma queste funzionalità hanno i propri hook e non è necessario utilizzare i ganci di inizializzazione.
Spesso, troviamo scenari in cui gli sviluppatori fraintendono l'uso dei ganci di inizializzazione. L'uso improprio di tali ganci può portare a seri problemi di prestazioni (così come i plugin di bassa qualità).
Identifichiamo gli errori comuni e come evitarli:
dentro
azioni e finiscono per creare inutili sovraccarichi delle prestazioni in ogni richiesta. Dovremmo impostare un modo per svuotare manualmente le regole di riscrittura usando un pulsante o svuotare le regole su attività poco frequenti come il salvataggio delle impostazioni del plugin.dentro
e admin_init
può essere usato al posto di hook specifici in modo che gli sviluppatori tendono a usarli senza avere la consapevolezza del loro pieno effetto. Alcuni degli scenari comuni in cui gli sviluppatori utilizzano dentro
e admin_init
i ganci invece dei ganci consigliati sono i seguenti: add_menu_page
funzione. Si consiglia di usare admin_menu
gancio per la creazione di pagine di amministrazione. Ma molti sviluppatori usano admin_init
gancio come viene eseguito dopo admin_menu
gancio.wp_enqueue_scripts
gancio. Ma molti sviluppatori usano wp_enqueue_script
dentro il dentro
gancio per caricare script e stili.Ci sono un numero di situazioni simili in cui gli sviluppatori usano il hook init comune invece del hook specifico della funzionalità e dovrebbero essere prevenuti quando possibile.
Gli hook di inizializzazione di WordPress svolgono un ruolo vitale nello sviluppo di plugin e temi. Molti sviluppatori utilizzano in modo improprio gli hook creando un inutile sovraccarico delle prestazioni. In questo articolo, abbiamo discusso l'uso corretto di questi ganci, nonché gli errori comuni e come evitarli.
Ora possiamo applicare la stessa tecnica per collegare specifici hook personalizzati. Molti plugin avanzati utilizzano i propri hook di azione per renderli estendibili. Per tali plug-in, possiamo definire ganci init specifici del plugin per consentire agli sviluppatori di concentrarsi sulle attività di inizializzazione su hook predefiniti, invece di utilizzarli ovunque.
Sentiti libero di condividere le tue esperienze sull'uso corretto degli hook di init e sugli errori nell'utilizzo degli hook di inizializzazione. Non vedo l'ora di vedere cosa devi condividere nei commenti!