Ankerlink an den Anfang der Seite
aufgeschlagenes Buch
„aufgeschlagenes Buch“ Foto von Gabriele Lässer

Der Beitrag, geschriebem am 13. Januar 2023, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

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.

Schreibe einen Kommentar

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

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.