Un avantage à utiliser get_header () par rapport à include ('header.php')?

11

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')?

Volonté
la source
3
Je sais que c'est bien hors sujet, mais trop souvent je vois include('some-file.php');- il n'y a pas besoin de parenthèses, c'est une construction de langage! include 'some-file.php';fait le travail très bien, et l'OMI a l'air plus propre aussi;)
TheDeadMedic

Réponses:

18

Utiliser une fonction générique signifie jeter une couche d'API WP:

  • get_header le crochet serait parti;
  • la compatibilité avec la récupération de différents en-têtes par name ( "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 regarder la source pour voir exactement ce que fait la fonction.

WordPress utilise sa propre fonction, pas seulement parce que. C'est généralement pour des raisons concrètes de compatibilité ou de fonctionnalité.

Rarst
la source
J'ai appelé des en-têtes alternatifs avec une instruction php include au lieu de get_headeret cela explique pourquoi j'ai un comportement étrange.
mat
2

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é en-tête-tout.php, puis utilisez

get_header('whatever');

et WP utilisera le fichier header-something.php au lieu de header.php.

Notez que la syntaxe est bancale - vous penseriez que vous devriez y mettre le nom de fichier à la place, mais non - vous avez besoin du nom après le trait d'union uniquement. Je veux que cette heure de ma vie revienne maintenant :(

des pluies
la source
ohh thx! putain de trait d'union. Peut-être que cela éclaircira votre journée lorsque vous savez que vous avez sauvé quelqu'un quelques heures? :)
0

La principale raison est que vous pouvez vous connecter à get_header, ce qui signifie que vous pouvez effectuer des tâches d'en-tête-y 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 leur mise à niveau plus difficile, car vous devez ensuite réappliquer vos modifications. Si ces changements sont isolés dans un thème enfant, cela rend la mise à niveau BEAUCOUP plus facile

anu
la source