web-dev-qa-db-fra.com

is_main_query () ne fonctionne pas pour WP REST API

Ma situation initiale est que j'ai un type de message personnalisé events qui sont - qui aurait pensé - des événements. Il existe une interface utilisateur personnalisée (backend) dans laquelle l'utilisateur peut entrer plusieurs dates. Chaque date est ensuite enregistrée en tant que post méta en tant qu'horodatage.

J'utilise ensuite pre_get_posts (et quelques autres filtres/actions) pour modifier la requête afin que les publications soient affichées en fonction de cet horodatage. Cela fonctionne parfaitement lorsque vous appelez la page d’archive par défaut de type publication ( http://www.example.com/[post-type-slug]/ ).

Nous développons actuellement une application pour téléphone mobile qui devrait ensuite afficher les événements. Nous utilisons l'API WP REST pour récupérer les données d'événement. Le problème est que is_main_query() renvoie toujours false lorsque vous utilisez l'API REST.

Est-ce que quelqu'un sait comment je peux contourner ce problème?

1
Stefan

Pour répondre directement à la question - L’API REST n’initialise pas une requête principale; par conséquent, il ne devrait en exister aucune pour les requêtes venant de cette façon.

Ce que vous devez faire est de créer votre propre terminal et serveur, quelles que soient les données personnalisées dont vous avez besoin. La modification de l'API REST, bien que possible, va à l'encontre de l'idée de disposer d'une API cohérente et documentée.

2
Mark Kaplun