das Geheimnis der Permalinks – gelüftet

Ich bin sicher, das ist nun keine so große Entdeckung, aber ich wusste lange nicht, wie WordPress das mit den Permalinks regelt. In die .htaccess wird ja nur eine einfache Regel geschrieben, der Rest passiert woanders. Und zwar werden alle rewrite Regeln in die wp_options geschrieben, mit dem option_name „rewrite_rules“. Zur Not kann man also direkt darin etwas ändern. Eine neue Regel kann man aber auch in der functions.php definieren:

add_filter('generate_rewrite_rules', 'xxx_change_rules');
function xxx_change_rules($wp_rewrite) {
    $new_rules = array(
        'marken/([a-z0-9])$'         => 'index.php?pagename=marken&buchstabe=' . $wp_rewrite->preg_index(1),
        'verkauf/page/([0-9])$' => 'index.php?pagename=verkauf&seite=' . $wp_rewrite->preg_index(1),
    );
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.