How to retrieve $_GET variables from rewritten URLs?

I need to receive some special $_GET parameters for a custom page I’m making, i know how to receive this through a simple $_GET like mysite.net/products/?id=1 , but I wanted to use the URL style of my WordPress like mysite.net/products/1.

How to retrieve $_GET variables from rewritten URLs?

Related posts

Leave a Reply

1 comment

  1. To be added on init:

    To register your custom variable (‘id’ in the question)

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

    To create a re-write rule:

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

    4 is the id of the ‘product’ page. You will need to flush rewrite rules once after adding these (go to Permalink settings page)

    You can get the value of mycustomvar: get_query_var( 'mycustomvar' ).

    See Codex for: