web-dev-qa-db-fra.com

Comment faire en sorte que get_template_part vérifie toujours le thème enfant en premier?

Comment puis-je forcer WP à toujours vérifier le dossier du thème enfant en premier lors de l'exécution de get_template_part?

Exemple: le thème enfant charge get_template_part('content', 'inventory') dans single.php. Comme tous les thèmes enfants (et beaucoup d’entre eux) partagent la même base de gabarit d’inventaire commune, le fichier content-inventory.php se trouve dans le thème parent. Jusqu'ici tout va bien.

J'aimerais ajouter une petite section audit gabarit d'inventaire qui sera propre à chaque thème enfant. L'ajout de get_template_part('content', 'inventory-special') dans content-inventory.php ne vérifiera pas d'abord le répertoire du thème enfant.

6
torinagrippa

C'est le cas, par défaut. La fonction get_template_part() utilise locate_template(), qui parcourt les fichiers de modèle par ordre de spécificité et stylesheetpath/templatepath.

Ainsi, si votre thème pour enfants comprend un content-inventory.php, alors get_template_part() l'inclura; sinon, il recherchera content-inventory.php dans le thème parent. S'il ne le trouve pas, il cherchera d'abord content.php dans l'enfant, puis dans le parent.

MODIFIER:

Essayer de comprendre ce que vous voulez dire; clarifiez s'il vous plaît si je me trompe ...

Vous souhaitez inclure un nouveau fichier de pièce de modèle dans un fichier de modèle Parent-Theme appelé content-inventory.php, n'est-ce pas?

Le seul moyen que vous puissiez utiliser, autant que je sache, consiste à copier content-inventory.php dans votre thème enfant , puis ajouter le nouvel appel get_template_part() si nécessaire.

Si un fichier nommé content-inventory.php est inclus dans both le parent et le thème enfant, WordPress utilisera toujours utilisera le thème enfant version, le cas échéant en utilisant get_template_part().

5
Chip Bennett

get_template_part() fait ceci par défaut.

3
kaiser