Adiciona barra no URL das categorias (serve uma versão de url)

4

Como posso adicionar uma barra a URLs de categorias e veicular apenas essa versão de uma categoria (o que significa que URLs que não terminam em barra serão redirecionados para URLs que terminam em barra).

Consigo remover a base da categoria usando o plug-in "WP No Category Base", mas preciso adicionar uma barra no URL da categoria.

Exemplos:

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.

O plugin Permalink Trailing Slash Fixer não resolve o problema aqui.

    
por user983248 06.11.2012 / 02:48

1 resposta

3

Filtre category_link para que o WordPress crie URLs cortados para categorias e redirect_canonical para que aceite esses 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;
}
    
por fuxia 06.11.2012 / 03:16