Guida all'uso degli hook nelle funzioni personalizzate
Pubblicato: 2013-03-29Potresti pensare che gli hook siano complicati, il che è comprensibile perché è quello che ho pensato quando li ho visti per la prima volta!
La verità è che gli hook sono molto facili da capire.
È la funzione personalizzata con cui li usi che è un po' più complicata.
In questa guida per principianti agli hook, esamineremo le basi di cosa sono gli hook e cosa fanno, nonché come usarli per visualizzare i contenuti in posizioni diverse nel tuo tema.
Cosa sono i ganci?
Gli hook sono semplicemente un punto o una posizione nei file del modello dei tuoi temi.
Vengono dati nomi descrittivi a seconda del tema in cui vengono utilizzati come:
- woo_post_after – Hook specifico per temi Woo che viene eseguito dopo tutti i singoli post
- genesis_after_header – Hook del tema specifico di Genesis che viene eseguito dopo i singoli post
- wp_footer – Hook di WordPress che viene eseguito dopo il footer in tutti i temi.
Il modo più semplice per capire dove si trovano i diversi ganci in Genesis è visualizzare una guida visiva degli ganci che contiene tutte le posizioni degli ganci.
genesis_after_header è un hook utilizzato nei temi figlio di Genesis (StudioPress) che viene eseguito dopo l'intestazione su tutte le pagine.
Invece di aggiungere il contenuto al file header.php dei temi principali che viene utilizzato per visualizzare l'intestazione, puoi semplicemente aggiungere il contenuto in una funzione personalizzata nei file dei temi figlio.
woo_before_header è un hook che funziona nei temi Woo e si trova nel genitore dei temi header.php
Invece di modificare i file dei modelli dei temi principali, puoi semplicemente utilizzare l'hook per visualizzare il contenuto in quella posizione aggiungendo codice al tuo bambino temi functions.php
Hook di WordPress
wp_footer è un hook di WordPress che funziona in qualsiasi tema al contrario di hook specifici del tema come genesis_after_post e woo_header.
Invece di modificare il file footer.php nei file core di WordPress, puoi semplicemente utilizzare l'hook wp_footer in una funzione personalizzata per agganciare (visualizzare) il contenuto nella posizione in cui si trova l'hook wp_footer nel file modello footer.php.
Mappe a gancio visive
Ogni sviluppatore di temi normalmente fornisce una mappa di dove viene eseguito esattamente ogni hook insieme all'elenco degli hook e una descrizione di dove vengono eseguiti nel tuo tema.
- Woo Themes Visual Hook Map
- Genesis Visual Hook Guide
- Riferimento visivo del gancio di tesi
I file del modello del tema principale e i file del modello di WordPress contengono gli hook che diversi sviluppatori di temi hanno aggiunto in posizioni diverse di ciascun file del modello.
Forniscono quindi un elenco di questi hook che puoi aggiungere a una funzione personalizzata per visualizzare il contenuto in quella specifica posizione di hook nel tuo tema.
Ganci nei file modello
Tradizionalmente, se desideri visualizzare il contenuto in una posizione specifica sul tuo sito Web, devi aggiungere il contenuto utilizzando HTML, testo o PHP direttamente ai file del modello dei temi principali. (E alcune persone lo fanno ancora!)
Con gli hook, non è necessario aggiungere il contenuto in nessuno dei file modello.
La ragione di ciò è che ogni file modello contiene diversi hook a cui puoi semplicemente fare riferimento in un file delle funzioni dei temi figlio piuttosto che nell'hacking dei file dei temi principali.
Questa funzione mostra il tuo contenuto agganciandosi alla posizione in cui si trova l'hook nei file del modello principale.
Hook nei file Genesis
Nota: non dovresti mai modificare i file Genesis di base e né dovresti mai averne bisogno.
Diamo un'occhiata a dove si trovano gli hook di azione nei file modello dei temi principali.
Di seguito è riportata un'immagine del file modello header.php di Genesis che si trova nei file dei temi principali principali.
Contiene i ganci dell'intestazione che puoi anche vedere nell'immagine visiva del gancio sovrapposta a destra dei ganci.
Noterai anche che ci sono altri hook di genesi lì e anche un hook di WordPress che è necessario per agganciare alcuni plugin.
Puoi utilizzare l'hook di WordPress in una funzione se lo desideri e la funzione funzionerà su tutti i temi perché contengono tutti hook di WordPress.
Funzioni con ganci di azione #
Diamo un'occhiata a una funzione personalizzata molto semplice che mostra il testo in qualsiasi posizione di hook nei temi figlio di Genesis.
L'hook che usiamo per visualizzare il testo prima del contenuto è chiamato hook genesis_after_header .
Lo includiamo con una funzione di base che abbiamo creato descrivendo cosa fa la funzione che in questo caso è chiamata content_after_header
Aggiungiamo anche una classe div univoca in modo da poter definire lo stile del testo nella posizione dell'hook, se necessario. In questo caso l'abbiamo chiamato dopo-header .
E nel file child temi style.css possiamo usare questa nuova classe per definire lo stile del contenuto in questa posizione di hook in questo modo:
.after-header { background: grey; border: solid 3px #222; padding: 10px; }
Plugin di ganci semplici di Genesis
Ecco un altro modo per guardare gli hook dell'intestazione tramite i campi hook situati nel plug-in Genesis Simple Hooks.
Un ottimo trampolino di lancio per imparare a usare gli hook in Genesis è iniziare a usare il plugin Genesis Simple Hooks.
Questo plugin ti consente di incollare facilmente HTML, testo, codici brevi o codice PHP che verranno eseguiti in una posizione di hook specifica.
Questo è un ottimo modo per saperne di più su dove si trova ciascun hook in Genesis e come visualizzare diversi tipi di contenuto in quelle posizioni.
Puoi anche eseguire codice PHP in una qualsiasi delle posizioni degli hook usando hook semplici purché tu avvolga il codice PHP nei tag PHP:
Il codice sopra, una volta incollato in un campo genesis_hook utilizzando il plug-in Simple Hooks, produrrà uno slider dell'immagine solo nella home page.
Utilizzo di hook con funzioni personalizzate e tag condizionali
Una volta che hai acquisito familiarità con tutti i nomi degli hook e le posizioni che eseguono, puoi passare all'utilizzo degli hook nelle funzioni personalizzate e combinarli con tag condizionali per eseguire i tuoi contenuti in una posizione di hook basata su condizioni specifiche come solo la home page o solo post singoli.
Questo codice visualizzerà il tuo testo prima di tutti i titoli dei post solo sui singoli post.
Non visualizzerà il testo su pagine di archivio come il tuo blog, home o archivi di categoria e non visualizzerà il testo su pagine statiche.
Altre funzioni personalizzate con ganci
- Ganci d'azione per lo sviluppo del tema principale
- Guida ai ganci e ai filtri per principianti