web-dev-qa-db-de.com

add_query_vars und add_rewrite_rules

Ich bin auf der Suche nach Klarheit darüber, was add_rewrite_rules macht.

Wenn ich Variablen aus einem Formular eintippe oder abschicke, soll es dann die Abfragevariablen in die hübsche URL ändern?

Derzeit verhält sich die Seite, wenn ich die hübsche URL eingebe, so, wie ich es möchte. Wenn ich ein Formular abschicke, das zu einer Seite mit den Abfragevariablen in der URL weiterleitet, funktioniert es auch einwandfrei. Aber ich hatte gedacht, wenn ich eine URL mit den Abfragevariablen eingetippt hätte, würde sie zur hübschen URL wechseln. Das macht es nicht. Sollte es? Mache ich das falsch?

function add_query_vars($aVars) {
    $aVars[] .= 'var_state';
    $aVars[] .= 'var_clubs';
}
add_filter('query_vars', 'add_query_vars');

function add_rewrite_rules($aRules) {
    $aNewRules = array(
        'rv-clubs/([^/]+)/([^/]+)/?$' => 'index.php?pagename=rv-clubs&var_state=$matches[1]&var_clubs=$matches[2]'
    );
    $aRules = $aNewRules + $aRules;
    return $aRules;
}
add_filter('rewrite_rules_array', 'add_rewrite_rules');

Jede Hilfe wäre dankbar.

4
Kenny Scott

Sie können in diese Antwort sehen, wie add_rewrite_rules verwendet wird. Ich denke, das trifft überhaupt nicht auf Ihren Fall zu.

Sie müssen die aus der Suche generierten URLs von (ich gehe von site.com/?s=term aus) zu einer hübschen URL umleiten. Dieser Artikel macht es http://www.wptavern.com/how-to-make-the-wordpress-search-url-pretty

1
bfred.it