it-swarm.com.de

Hübsche Permalinks

Ich habe eine eigene Suchfunktion erstellt, die im Grunde das nächste Geschäft findet, das der eingegebenen Postleitzahl am nächsten liegt.

Meine URL für die Suche sieht derzeit so aus: http://www.example.com/stores?searchTerm=London, was nicht wirklich SEO-freundlich ist. Ich möchte, dass meine URL im folgenden Format vorliegt - http://www.example.com/stores/London. Aufgrund meines Mangels an Kenntnissen über die Funktionsweise der WordPress-URL-Umschreibungen habe ich jedoch Probleme und möchte Hilfe bei der Behebung dieses Problems.

Stores ist eine Seite, die die Ergebnisse durchläuft.

Wenn jemand Ideen dazu hat oder mich in die richtige Richtung lenken kann, wäre er sehr dankbar.

4
Codarz360

Sie sollten zuerst Ihre eigene benutzerdefinierte Abfragevariable hinzufügen:

function add_search_store_query_var($vars) {
    $vars[] = 'search_store';
    return $vars;
}
add_filter( 'query_vars', 'add_search_store_query_var');

Und dann fügen Sie die Umschreiberegel hinzu:

function add_search_store_rewrite_rule() {
    add_rewrite_rule('stores/([^/]+)$', 'index.php?page_id=<YOUR SEARCH PAGE ID>&search_store=$matches[1]', 'top');
}
add_action('init', 'add_search_store_rewrite_rule');

Sie können dann get_query_var('search_store'); verwenden, um einen Suchbegriff zu erhalten.

Denken Sie daran, die Umschreiberegeln zu leeren, bevor Sie sie überprüfen. Ohne Löschregeln funktioniert das nicht. (Gehen Sie einfach zu den Permalink-Einstellungen und klicken Sie auf Speichern).

PS. Codiert es direkt hier, so kann es ein bisschen fehlerhaft sein.

1