web-dev-qa-db-fra.com

Get_terms () utilise-t-il une sorte de cache sur sa requête?

Dans le docblock pour get_terms(), il est indiqué ce qui suit sur la mise en cache:

* The {@see 'get_terms'} filter will be called when the cache has the term and will
* pass the found term along with the array of $taxonomies and array of $args.

Qu'est-ce que cela signifie par will be called the cache has the term? Est-ce que cela signifie que lorsque je fais un apply_filter sur get_terms, il ne sera appelé que si le terme est en cache? Et je ne suis pas tout à fait sûr de savoir de quelle cache il s'agit ici. Je ne connais pas encore très bien la mise en cache de Wordpress, alors veuillez me pardonner si cela doit être évident pour moi.

1
Ben

L'utilisateur gmazzap a une bonne explication du cache d'objets que vous voudrez peut-être lire. plus de.

Si nous examinons get_terms() , nous constatons qu’il crée un nouveau WP_Term_Query () et que les classes get_terms() est l'endroit où se produit la mise en cache potentielle. Ligne 666 spécifiquement . Un peu plus bas, nous pouvons voir s'il teste si un cache existe .

Ainsi, la mise en cache ne durera qu'un chargement de page afin de garantir que les requêtes dupliquées n'enlèveront pas la base de données avec plusieurs appels. Les filtres tenteront d'utiliser un cache et s'il ne le trouve pas (peu probable), il en créera un pour une utilisation ultérieure en bas de la ligne de chargement de la page.

1
Howdy_McGee