Home > Back-end >  pretty permalinks on custom query vars in wordpress
pretty permalinks on custom query vars in wordpress

Time:10-20

I am using a hierarchal custom post type (post type is called locations, slug = location) in WordPress. Locations can be nested (country/state/city)

I have successfully added custom query vars :

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

which I use to decide what data to show for the location.

For example, mysite.com/location/country/?view=facts or mysite.com/location/country/state/city/?view=events

All of which is working great.

But I want to be able to access it as:

mysite.com/location/country/facts

mysite.com/location/country/state/city/facts

I have been playing around with add_rewrite_rule but can't make it work. Not sure if my $regex or $query is the problem; regex isn't my strong suit.

add_rewrite_rule( '/(view)/g', 'index.php?post_type=locations?view=$matches[1]','top' );

CodePudding user response:

Try add_rewrite_endpoint, it is actually much simpler

https://developer.wordpress.org/reference/functions/add_rewrite_endpoint/

https://make.wordpress.org/plugins/2012/06/07/rewrite-endpoints-api/

  • Related