Rewrite, Permalinks und add_rewrite_rule

  • Hallo Zusammen,

    ich habe ein kleines Problem mit dem Thema Rewrite.

    Folgendes Szenario:

    • Entwicklung eines umfangreichen Plugins für Wordpress zur Recherche und Darstellung von Anwälten.
    • Es wird eine eigene Tabellenstruktur innerhalb der Wordpress-Datenbank verwendet, um die Daten zu hinterlegen.
    • Ich benötige für die SEO einen entsprechenden URI-Aufbau.
    • Ich verwende keinen Custom Post Type.

    Ziel:

    • example.org/rechtsanwalt/name-des-anwalts/

    Aktueller Stand:

    • Datensatz-ID's werden als GET-Parameter angehängt.

    Problem:

    • Ich muss 2 ID's übergeben (ja, die Tabellenstruktur ist M2M), benötige aber zur Generierung der URL aber nur 1.

    var_dump (Auszug):

    Damit ist schon mal die Grundlage gegeben, die Werte via

    PHP
    $wp_query->query_vars['aid']

    wieder einzulesen.

    Ich kann optional die Parameter aus dem Formular auch via jQuery als POST übermitteln.

    Fragen:

    1. Kann ich das Vorhaben mit [FONT=courier new]add_rewrite-rule()[/FONT] angehen?
    2. Muss ich bei Änderungen (DEV) die Regel via [FONT=courier new]flush_rewrite_rules()[/FONT] auf die Aktivierung des Plugins Hook'en?
    3. Hat jemand von Euch weiterführende Informationen zu dem Thema?
    4. Ist es eine Option, die Konditionen in der .htacces vor den WP-Regeln zu verankern?


    Wo ich mich eingelesen habe:
    http://codex.wordpress.org/Custom_Queries ff.
    http://codex.wordpress.org/Rewrite_API/add_rewrite_rule ff.
    Google rauf und runter...
    Und ja, ich hab die Suchfunktion hier bemüht... :)

    Besten Dank schon mal im voraus!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Lösung

    So,

    da mein "Problemchen" jetzt endgültig gelöst ist, hier eine kleine Anleitung, wie man im Rahmen eines Plugins die fancy URL's hinbekommt.

    Hooks setzen und die benötigten Vars im globalen Array [FONT=courier new]$wp->query_vars[/FONT] einrichten. Die Werte werden automatisch gesetzt.

    In der Init-Funktion wird die eigentliche Rewrite-Regel gesetzt, bei der bis zu 3 GET-Variablen übergeben werden können. Ich bin kein Meister in Sachen RegEx, aber für meine Zwecke reicht es. Hier ist der Seitentitel statisch, weil keine custom taxonomity verwendet wird.

    Wichtig: [FONT=courier new]flush_rules()[/FONT] sollte auf der Plugin-Initialisierung liegen. Da ich noch munter am Basteln bin, wird's immer gecallt. Bei der Deinstallation ebenfalls.

    Ein Aufruf erfolgt dann bspw. über http://www.wpde.org/seitenname/echt_schick/ (und ggf. weiterer qvars).

    Hoffe, das hilft dem ein oder anderen weiter. Fragen? Schreibt mir eine PN.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!