Ich habe einen mehrstufigen Prozess, der komplexes Facettieren in WP-Abfragen integriert. Das Problem ist - je tiefer ich komme, desto unschärfer wird mir, wie es funktionieren soll , und ich könnte eine Richtlinie verwenden, anstatt erfinderisch zu sein (und mir ein Loch zu graben).
Allgemeine Stadien, die ich habe (Pseudocode, aber fast real):
- Wert von URL abrufen (etwas einfaches wie
person=1
) - Wert verarbeiten und benutzerdefinierte Abfrageanweisungen anhängen (
$relationship_query[] = array('relationship' => 'person_to_cat', 'object' => 1 );
) - Abrufen der endgültigen benutzerdefinierten Abfrageanweisungen und Generieren der entsprechenden SQL-Anweisungen
Inzwischen habe ich eine Menge solcher Vorgänge (Beziehungen, Taxonomien, Daten) und sie werden zerbrechlich (eine Codeecke gibt keinen Wert an die Stelle, an der die andere Codeecke erwartet, dass er gefunden wird, und alles löst sich auf).
Die große Frage ist, welches Protokoll zum Weiterleiten, Empfangen, Speichern und Verarbeiten benutzerdefinierter Daten an WP über eine URL geeignet ist .
Kleinere Teile:
- Wie kann ich sicherstellen, dass ich nicht mit WP-Interna kollidiere?
- Wo und wie speichere ich Zwischendaten?
- Unterschied zwischen
query
undquery_vars
Eigenschaften? Sie scheinen im Code fast gleich zu sein, aber sie tendieren dazu, unterschiedliche Werte und Methoden fürquery_vars
einen zu verwenden.
- Unterschied zwischen
WP
undWP_Query
und während es eine Menge Dinge passiert es, denke ich , dassadd_rewrite_tag()
scheint knappste Weise WP von benutzerdefinierten Abfrage var bewusst zu machen und spielen gut mit ihm.Beispiel: Wenn Sie eine Seite mit /? Seitenname = about laden, verarbeitet WP die Abfragezeichenfolge und stellt fest, dass die verwendete Abfragevariable page_id ist.
Ein weiteres Beispiel: /? Cat = 1, /? Category_name = uncategorized und / category / uncategorized haben dieselbe query_var 'cat'
quelle
Ich hätte angenommen, dass dies über
$_GET
und / oder erfolgt und$_POST
dann entsprechend manipuliert wird.Speichern Sie alternativ die großen Datenmengen in der Datenbank und analysieren Sie dann wie folgt eine ID für die URL
Die Abfrage wird offensichtlich nicht so einfach sein, sie kann eine Menge Verknüpfungen und Verknüpfungstabellen beinhalten. Das ist, was ich auf einer meiner Seiten mache, parse eine eindeutige ID und erstelle dann die Daten über MySQL.
quelle