Avez-vous un avantage à utiliser get_header () par rapport à include ('header.php')?

10

Le thème de base - en fait, tous les thèmes que j'ai examinés - utilise get_header () pour inclure le fichier d'en-tête, mais je ne vois aucune raison de le faire.

Quels sont les avantages d'utiliser get_header() au lieu d'un simple include('file.php') ?

    
posée Will 11.12.2010 - 15:05

3 réponses

18

L'utilisation de la fonction générique signifie le rejet de la couche de l'API WP:

  • get_header hook serait parti;
  • la compatibilité avec l'extraction de différents en-têtes par nom ( "header-{$name}.php" ) aurait disparu;
  • l'utilisation de locate_template() aurait disparu, ce qui détruirait probablement la compatibilité avec les thèmes enfants.

Vous pouvez toujours consulter source pour voir ce que fait exactement la fonction.

WordPress utilise sa propre fonction et pas seulement parce que. C’est généralement pour des raisons de compatibilité ou de fonctionnalité.

    
réponse donnée Rarst 11.12.2010 - 15:14
0

La raison principale est que vous pouvez vous connecter à get_header, ce qui signifie que vous pouvez créer des éléments d'en-tête dans un thème enfant ou un fichier de fonction séparé sans avoir à modifier les fichiers de thème parent.

Vous ne souhaitez pas modifier les fichiers de thème parent car cela rend la mise à niveau plus difficile car vous devez ensuite réappliquer vos modifications. Si ces modifications sont isolées dans un thème enfant, cela facilite beaucoup la mise à niveau

    
réponse donnée anu 11.12.2010 - 16:00
0

Vous pouvez également utiliser la fonction get_header () pour obtenir un fichier d’en-tête différent. Nommez le fichier d'en-tête personnalisé header-what.php, puis utilisez

get_header('whatever');

et WP utiliseront le fichier header-Whatever.php à la place de header.php.

Notez que la syntaxe est inexacte - vous penserez que vous devriez plutôt insérer le nom de fichier, mais non - vous avez besoin du nom après le trait d'union uniquement. Je veux cette heure de ma vie maintenant: (

    
réponse donnée dains 10.05.2011 - 21:44

Lire d'autres questions sur les étiquettes