Speichern und arbeiten mit riesigen Array in WP

Ich muss alle Begriffe erhalten, die Post mit Daten in benutzerdefiniertem Feld haben. Also brauche ich eine Liste für alle Daten aus dem Begriff. Ich muss genau wissen, was die Termine in jedem Semester meiner Site sind. Es ist nicht in Begriff, es ist in ihren Beiträgen.

Danach muss ich foreach Monat wissen, was die Bedingungen sind, die Post mit diesem bestimmten Monat enthalten.

All dies wird für die Felder der Suche benötigt, um meine Postart (Touren) nach Begriffen (Land) und Daten (jede Tour kann viele Daten haben) zu filtern.

Ich habe die Lösung von mir selbst in einem anderen Post erhalten: Erhalten Sie Begriffe, die Post mit benutzerdefinierten Post-Typ zwischen 2 Werte haben

Jetzt muss ich wissen, dass ich dieses riesige Array in meiner WordPress-database speichern kann.

Solutions Collecting From Web of "Speichern und arbeiten mit riesigen Array in WP"

Kurz gesagt, Ihre Bedürfnisse werden von der WP-API vollständig nicht unterstützt.

Taxonomien in WP sind ein Gruppierungsmechanismus . Ihr Hauptzweck besteht darin, eine Menge von Objekten abzufragen, die zu einer Gruppe (Begriff) oder Gruppen gehören. Es gibt keine umgekehrte Operation, um eine Gruppe von Objekten bereitzustellen und nachzufragen, zu welchen Gruppen (Termen) sie gehört.

Hinzu kommt, dass Ihre Logik einen zusätzlichen Sprung zu Meta-Daten erfordert und in der Lage ist, dies auf beide Arten zu tun (Beschränkung der Länder nach Datum und Beschränkung der Daten nach Ländern).

Ich sehe hier drei mögliche Ansätze (Komplexität aufsteigend):

  1. Löschen Sie die angekettete Anforderung. Lassen Sie die Benutzer Datum und Land frei wählen und informieren Sie sie, wenn für eine bestimmte Kombination keine Ergebnisse vorliegen. Selbst Google sagt manchmal, dass es nichts gefunden hat.
  2. Crunch die Daten mit API async und Cache die Beziehung Daten in irgendeiner Form.
  3. Schreiben Sie benutzerdefiniertes SQL, das die erforderliche Logik mit angemessener performance implementiert.

Persönlich würde ich in einer solchen Situation mit 3 gehen, aber nur, weil ich einigermaßen zuversichtlich bin, dass ich SQL schreiben und pflegen kann.