web-dev-qa-db-fra.com

Comment récupérer des variables $ _GET à partir d'URL réécrites?

J'ai besoin de recevoir des paramètres spéciaux $ _GET pour une page personnalisée que je crée, je sais comment recevoir cela via un simple $ _GET comme mysite.net/products/?id=1, mais je souhaitais utiliser le style d'URL de mon WordPress comme mysite.net/products/1.

Comment récupérer des variables $ _GET à partir d'URL réécrites?

7
jonathan

Pour être ajouté à init:

Pour enregistrer votre variable personnalisée ('id' dans la question)

add_rewrite_tag('%mycustomvar%','([^&]+)');

Pour créer une règle de réécriture:

add_rewrite_rule('^product/([0-9]{1,})/?','index.php?p=4&mycustomvar=$matches[1]','top')

4 est l'id de la page 'produit'. Vous devrez effacer les règles de réécriture une fois après leur ajout (allez à la page des paramètres de Permalink)

Vous pouvez obtenir la valeur de mycustomvar: get_query_var( 'mycustomvar' ).

Voir Codex pour:

6
Stephen Harris