Comme indiqué dans l'une des réponses de à cette question et dans l'entrée du codex pour le filtre request
, ledit filtre est appelé uniquement une requête par défaut, telle que la requête principale utilisée pour une boucle. Ma question est la suivante: qu'est-ce qui est considéré ou non comme une requête par défaut? La création d'un nouvel objet WP_Query
serait-elle considérée comme telle?
La requête "par défaut" est celle que WordPress effectue elle-même, en fonction de l'URL et autres, automatiquement.
Toute requête que vous créez manuellement, via un nouveau WP_Query ou en appelant query_posts (), n’utilisera pas le filtre "request".
Il n'y a qu'une seule requête "par défaut" et vous ne pouvez la déclencher via aucun code du modèle.
request
n'est appliquée qu'une seule fois, par parse_request()
, une méthode de la méthode WP
classe. Il n'y a qu'une seule référence à cela, c'est par une autre méthode de WP
, main()
. main()
est référencé une fois, par wp()
. wp()
est référencé dans différents contextes par un certain nombre de fonctions et de fichiers différents: wp_trackback.php
, get_feed()
, wp-blog-header.php
, wp_edit_posts_query()
et wp_edit_attachments_query()
. Ainsi, en regardant à travers cela, rien de ce que `WP_Query appelle n'est répertorié.
Réponse courte: je dirais non, cela n’appelle pas request
.
Ceci étant dit, mon travail est basé sur le travail à l'envers avec phpxref (d'où les liens), donc j'ai peut-être manqué quelque chose ou il a peut-être manqué quelque chose. Une meilleure façon de poser votre question pourrait être de demander ce que vous essayez de faire, pas la mise en œuvre.
Juste une remarque: main()
appelle query_posts()
, qui (je pense) effectue la requête par défaut, etc., mais une instance de WP_Query à elle seule ne devrait pas suffire à déclencher cela à partir de ce que j'ai vu.