Keep taxonomy base name in post permalinks

I have a custom taxonomy (I’ll call ‘issues’ in this example) registered as such:

register_taxonomy(‘issues’,array(‘post’, ‘pieces’), array(

‘rewrite’ => array( ‘slug’ => ‘issues’, ‘with_front’ => true, ),


This works how I like and sends the archive page for each term to Next I want posts within this taxonomy term to show up as

However, I’ve tried many different forms of rewrites and filters and have so far only managed to get the permalinks to be but I would prefer to keep the taxonomy base name (/issues/) in the URL as it is for the taxonomy archives. I have gone into Settings>Permalinks and added %issues% to the Custom Structure (and I also make sure to flush permalinks every single time I make a change). Below is the filter rule I have currently:

add_filter(‘post_link’, ‘issues_post_permalink’, 10, 3);
function issues_post_permalink($permalink, $post_id, $leavename) {
if (strpos($permalink, ‘%issues%’) === FALSE) return $permalink;
$post = get_post($post_id);
if (!$post) return $permalink;
$terms = wp_get_object_terms($post->ID, ‘issues’);
$term_slug = $terms[0]->slug;
return str_replace(‘%issues%’, $taxonomy_slug, $permalink);

If I try adding issues/%issues% to the Custom Structure that also does not work, though I am not sure why. I think I am missing some sort of rewrite rule, but I’ve tried to adapt a few from other threads and they don’t seem to work. Most of the other ‘guides’ and threads involve a custom post type and I ‘d prefer to not have to add one of those if possible.

Read more here:: Keep taxonomy base name in post permalinks

Leave a Reply

Your email address will not be published. Required fields are marked *