web-dev-qa-db-fra.com

Filtrer les messages en fonction de plusieurs termes de taxonomie personnalisés à l'aide de l'opérateur AND REST API v2 (WordPress)

J'ai créé un type de message personnalisé appelé "événements". J'ai également créé une taxonomie personnalisée appelée 'event_categories' contenant les 12 mois de l'année.

J'essaie de tenir des "événements" en août ET (pas OR) en septembre (identificateurs 41 et 42) en utilisant les URL suivantes:

/wp-json/wp/v2/events?event_categories=41,42

/wp-json/wp/v2/events?event_categories=41+42

Pour une raison quelconque, ces URL renvoient les mêmes résultats et n'utilisent pas l'opérateur AND. Ils utilisent tous les deux l'opérateur OR et renvoient les événements en août ou en septembre.

J'ai également essayé les URL suivantes ci-dessous mais ni utiliser l'opérateur AND:

/wp-json/wp/v2/events?filter[event_categories]=august,september

/wp-json/wp/v2/events?filter[event_categories]=august+september

4
Louis S

Je pense que je connais le correctif. J'ai remarqué que le signe plus (+) dans les arguments d'URL était automatiquement supprimé et converti en un espace.

Mes valeurs d'argument 'août + septembre' devenaient 'août août' après le décodage. J'ai découvert que '% 2B' est l'équivalent en code du symbole +.

Donc, au lieu d'utiliser: /wp-json/wp/v2/events?filter[event_categories]=august+september

Utilisez: /wp-json/wp/v2/events?filter[event_categories]=august%2Bseptember

1
Louis S