web-dev-qa-db-fra.com

Ajouter une barre oblique sur les catégories url (servir une version d'une url)

Comment puis-je ajouter une barre oblique sur les URL des catégories et ne servir que cette version d'une catégorie (les URL ne se terminant pas par une barre oblique seront redirigées vers des URL se terminant par une barre oblique).

Je parviens à supprimer la base de catégories à l'aide du plug-in "WP No Category Base" mais je dois ajouter une barre oblique sur l'URL de la catégorie.

Exemples:

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.

Le plugin Permalink Trailing Slash Fixer ne résout pas le problème ici.

4
user983248

Filtrez category_link pour que WordPress crée des URL en barres obliques pour les catégories, et redirect_canonical pour qu'il accepte ces URL:

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;
}
3
fuxia