Question

I'm trying to add a rewrite rule to pass a var to my page template.

it only excepts numbers in the variables, when I type in characters other then number it directs to 404. for example: this works: domain.com/reco/9080 But this doesn't: domain.com/reco/abcd (redirects to 404)

This is my code:

function add_rewrite_rules($wp_rewrite) {
        add_rewrite_rule('reco/([^/]*)/?', 'index.php/reco/?b=$1', 'top');
}
add_action('generate_rewrite_rules', 'add_rewrite_rules');


function query_vars($public_query_vars) {
    $public_query_vars[] = "b";
    return $public_query_vars;
}
add_filter('query_vars', 'query_vars');

Cheers!

Was it helpful?

Solution

I ended up using get_query_var('b') which works! apparently wordpress "hogs" the query vars because the website is actually: index.php?pagename=yourPermalink.

Also don't try to use variable "s" because wordpress uses this on every page for search purposes.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top