Quali vantaggi nell'usare get_header() rispetto a include('header.php')?

11 dic 2010, 16:05:37
Visualizzazioni: 24.4K
Voti: 12

Il tema base - in effetti ogni tema che ho esaminato - usa get_header() per includere il file header, ma non riesco a vedere il motivo per farlo.

Quali sono i vantaggi nell'usare get_header() invece di un semplice include('file.php')?

1
Commenti

So che è fuori tema, ma troppo spesso vedo include('some-file.php'); - non c'è bisogno delle parentesi, è un costrutto del linguaggio! include 'some-file.php'; fa lo stesso lavoro e secondo me è anche più pulito ;)

TheDeadMedic TheDeadMedic
11 dic 2010 18:17:57
Tutte le risposte alla domanda 3
1
21

Utilizzare funzioni generiche significa rinunciare a uno strato dell'API di WordPress:

  • il hook get_header verrebbe perso;
  • la compatibilità con il caricamento di diversi header per nome ("header-{$name}.php") verrebbe persa;
  • l'utilizzo di locate_template() verrebbe perso, il che probabilmente distruggerebbe la compatibilità con i child theme.

Puoi sempre consultare il codice sorgente per vedere esattamente cosa fa la funzione.

WordPress utilizza funzioni proprie non senza motivo. Di solito è per ragioni specifiche di compatibilità o funzionalità.

11 dic 2010 16:14:24
Commenti

Ho chiamato gli header alternativi con un'istruzione php include invece di get_header e questo spiega perché ho avuto alcuni comportamenti strani.

matt matt
11 dic 2010 18:52:42
1

Puoi anche utilizzare la funzione get_header() per ottenere un file di intestazione diverso. Dai al file di intestazione personalizzato il nome header-qualcosa.php, quindi usa

get_header('qualcosa');

e WP utilizzerà il file header-qualcosa.php invece di header.php.

Nota che la sintassi è un po' strana - potresti pensare di dover inserire il nome del file completo, ma invece no - devi inserire solo la parte dopo il trattino. Vorrei avere indietro quell'ora della mia vita ora :(

10 mag 2011 22:44:31
Commenti

ohh grazie! accidenti al trattino. magari ti solleverà la giornata sapere che hai risparmiato a qualcuno un paio d'ore? :)

User User
3 ago 2011 17:47:49
0

Il motivo principale è che puoi agganciarti a get_header, il che significa che puoi fare operazioni relative all'header in un child theme, o in un file di funzioni separato senza dover modificare i file del tema genitore.

Non vuoi modificare i file del tema genitore perché rende più difficile aggiornarli, poiché dovrai riapplicare le tue modifiche. Se quelle modifiche sono isolate in un child theme, l'aggiornamento diventa MOLTO più semplice

11 dic 2010 17:00:38