foto von justin dream

In den meisten Blogs, selbst übersetzten Sprachversionen, wird früher oder später augenfällig, dass bei größer werdender Anzahl von Beiträgen die Links der Folgeseiten mit /page/2, /page/3/ etc. enden. Festgelegt wird das unter wp-includes/class-wp-rewrite.ph, und eine Übersetzung ist nicht vorgesehen.

Um die Paging-Slugs zu ändern müssen die entsprechenden rewrite-Keys in der gewünschten Sprache formuliert sein.

function paging_params_rewrite_base() {
    global $wp_rewrite;
    $bases = array(
        'author_base' => 'autor',
        'search_base' => 'suche', 
        'comments_base' => 'kommentare',
        'pagination_base' => 'seite'
    );

    foreach ($bases AS $key => $base) {
        $wp_rewrite->{$key} = remove_accents(mb_strtolower(trim($base)));
    }

    if ( ! get_option('change_rewrite_base_flushed', false) ) {
        flush_rewrite_rules();
        update_option( 'change_rewrite_base_flushed', time());
    }
}
add_action('init', 'paging_params_rewrite_base');

Für mehrsprachige Projekte mit Übersetzungskatalogen (z.B. mit poedit geführt) lassen sich die Pagination-Paremter auch übersetzbar gestalten.

function paging_params_rewrite_base() {
    ...
    $bases = array(
        'author_base' => __('author', 'mytextdomain'),
        'search_base' => __('search', 'mytextdomain'),
        'comments_base' => __('comments', 'mytextdomain'),
        'pagination_base' => __('page', 'mytextdomain')
    );
    ...
}
add_action('init', 'paging_params_rewrite_base');

Die Durchführung von flush_rewrite_rules() funktioniert nur einmal. Ohne flushen der Rewrite-Regeln werden die Folgeseiten zu 404-Fehlern führen. Die Paginierung also nach Umstellung unbedingt testen. Ggf. müssen die Permanlink-Einstellungen geändert, gespeichert, zurückgeändert und noch einmal gespeichert werden.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht