Je personnalise un autre plugin en modifiant la règle de réécriture, à partir de:
add_rewrite_rule('^api/auth/([0-9]+)?/?','index.php?__api=1&uid=$matches[1]','top');
à:
add_rewrite_rule('^api/auth/','index.php?__api=1','top');
Après avoir effectué la modification (et sans oublier d'actualiser les permaliens ), mon noeud final ne fonctionne pas. Quand j'essaye quelque chose comme:
file_get_contents("http://mydomain.com/api/auth/")
... au lieu de l'objet json qui devrait être renvoyé, j'obtiens le formulaire de connexion de l'utilisateur.
Ce qui est encore plus étrange, c'est que lorsque j'ajoute un entier à la fin, comme ceci:
file_get_contents("http://mydomain.com/api/auth/3")
... Je reçois l'objet json que j'attends! Que se passe t-il ici?
J'ai donc résolu ce problème, mais je me bouscule toujours sur la "solution":
add_rewrite_rule('api/autho/?$','index.php?__api=1','top');
Cette version de la règle de réécriture fonctionne pour une raison quelconque. Je devine qu'il y a une sorte de conflit d'espaces de noms que je suis tombé par hasard sur. Peut-être que /auth/
est utilisé ailleurs?