Add forward slash on categories url (serve one version of a url)

How can I a add forward slash on categories URLs and serve only that version of a category (meaning URLs not ending in forward-slash will redirect to URLs ending in forward slash).

I manage to remove the category base using the “WP No Category Base” plugin but I need to add a forward slash on the category URL.

Read More

Examples:

www.example.com/es  <- this is a category (needs a forward-slash '/')

www.example.com/es/hola.html <- this is a post so, it's ok, no changes needed.

The plugin Permalink Trailing Slash Fixer doesn’t solve the problem here.

Related posts

Leave a Reply

2 comments

  1. Filter category_link so WordPress creates slashed URLs for categories, and redirect_canonical so it accepts those URLs:

    add_filter( 'category_link', 'wpse_71666_trailingslash_cat_url' );
    add_filter( 'redirect_canonical', 'wpse_71666_trailingslash_cat_url', 20, 2 );
    
    function wpse_71666_trailingslash_cat_url( $url, $request = '' )
    {
        if ( 'category_link' === current_filter() )
            return rtrim( $url, '/' ) . '/';
    
        if ( "$url/" === $request and is_category() )
            return $request;
    
        return $url;
    }
    
  2. It’s more convenient to use a wordpress plugin, a plugin called “Permalink Trailing Slash Fixer” can do the job, its main function is: Quickly add a trailing slash in the URLs if it’s missing in the permalink structure. Single posts permalink are skipped .