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