web-dev-qa-db-fra.com

Obtenir une partie du modèle contre la fonction de modèle de localisation

Je suis dans single.php où j'essaie d'obtenir le modèle related-posts.php. Le problème est que lorsque vous utilisez obtenir le modèle de partie le fichier related-posts.php ne reçoit pas le nom de taxonomie personnalisé de single.php dans wp_Query.

La solution consiste à récupérer les conditions de publication wp dans related-posts.php afin d'utiliser get_template_part. Mais techniquement, cela ne devrait pas être nécessaire puisque parent (single.php) l’a déjà.

Mais lorsque j'utilise localiser la fonction de modèle cela fonctionne bien. Je pense que cette méthode serait plus lente que get_template_part. Que devrais-je faire?

2
wp student

Tout d'abord, notez que get_template_part UTILISE EN INTERNE locate_template , de sorte que votre impression que ce dernier est plus lent est fausse.

Si vous regardez le code, get_template_part est un peu plus qu'un wrapper pour locate_template, donc si un travail fonctionne et l'autre pas, il y a 2 possibilités:

  • vous utilisez get_template_part faux
  • il y a un crochet sur l'action "get_template_part_{$slug}" qui l'empêche de fonctionner

Cependant, si locate_template fonctionne, utilisez-le: ce n'est pas plus lent, pour être honnête, il peut être plus rapide s'il existe des fonctions accrochées à "get_template_part_{$slug}" qui ralentissent l'exécution.

2
gmazzap