Using /%category%/%postname%/
for the permalink I get a URL string of all the categories that the specific post is included in.
I would like the categories in the url to be filtered down to only one branch of the categories structure, and starting not from the root parent category.
I have a travel blog and I have this category structure:
places ⺠countryName ⺠regionName ⺠cityName
ex: www.mytravelblog.com/places/indonesia/java/jakarta/myPostName/
I would like to skip the root category in the URL or even just use the smallest child
ex: www.mytravelblog.com/jakarta/myPostName
Is it possible? (WP 3.0.1)
This should be possible. First, you’re lucky that
www.mytravelblog.com/jakarta/myPostName/
already works, it shows you the post and doesn’t redirect you to the longer version (at least it seems to work on my side). That means you only have to work on the generated link, and not mess with the way incoming URLs are handled or “canonicalized”.The result of
get_permalink()
, which you want to modify, is filtered throughpost_link
. So you can probably do something like this:I had thought I would just comment on it but then it would be too small a place to specify the details.
The answer posted by Jan Fabry works nicely! However the drawback of this is, which he even pointed out in the comments is that if you have a URL like http://example.com/sports/world-sports/permalink, it will be stripped down to http://example.com/world-permalink, which will actually lead to a 404.
To avoid this you can add
So it should be like this
This will strip only /sports/ and not /world-sports/
Hope it helps someone !
What do you do if you have same area/town names in different regions/countries?
Another way is to keep the link but work on the content of the page, depending on the categories. U could use this: