wake-up-neo.com

Add forward slash on categories url (eine Version einer URL liefern)

Wie kann ich einen Schrägstrich für Kategorien-URLs hinzufügen und nur diese Version einer Kategorie liefern (dh URLs, die nicht mit Schrägstrich enden, leiten zu URLs weiter, die mit Schrägstrich enden)?.

Ich kann die Kategoriebasis mithilfe des Plugins "WP No Category Base" entfernen, muss jedoch einen Schrägstrich in die Kategorie-URL einfügen.

Beispiele:

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.

Das Plugin Permalink Trailing Slash Fixer löst das Problem hier nicht.

4
user983248

Filtern Sie category_link so, dass WordPress URLs für Kategorien erstellt durchgestrichene URLs und redirect_canonical so, dass es diese URLs akzeptiert :

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