web-dev-qa-db-fra.com

Get_template_part extrait-il les données une fois dans une boucle?

Quand j'utilise le "get_template_part ();" dans une boucle , recherche-t-il ce fichier modèle à chaque cycle de la boucle (chaque publication) ou recherche-t-il le fichier une fois puis le réutilise à chaque cycle de la boucle ?

1
Ben

get_template_part() appelle locate_template(), et les deux fonctions sont en cours d'exécution file_exists() vérifie le même fichier à plusieurs reprises. Il n'y a pas de cache. Meh.

Mais… PHP dispose d'un cache interne pour la recherche de fichiers, de sorte qu'un accès direct au fichier ne se produira pas à chaque appel.

Il existe un cas Edge que la plupart des développeurs ignorent: un fichier peut être supprimé après le premier accès, et file_exists() renverra toujours true si le cache de PHP n'a pas été mis à jour.

2
fuxia

Cela dépend entièrement de votre code. Sans en voir aucune, je suppose que vous utilisez une boucle standard WP. Si tel est le cas, la partie modèle est incluse à chaque exécution de l'instruction. Par défaut, c'est pour chaque message de la boucle.

2
jdm2112