it-swarm.com.de

Hilfe zur Strukturierung von Abfragen für Archivseiten

Ich erstelle eine Website mit verschiedenen Beitragstypen (Blogbeiträge, Produkte, Informationsartikel usw.). Auf Seiten mit Archivtyp (Suchergebnisse, Tag-Seiten usw.) möchte ich Inhalte aus den verschiedenen Beitragstypen in visuell unterschiedlichen Abschnitten anzeigen. Anschließend kann der Benutzer entweder die gewünschte Seite auswählen oder auf einen Link klicken, um alle Ergebnisse eines bestimmten Beitragstyps anzuzeigen.

Wie soll ich meinen Loop strukturieren? Soll ich mehrere WP_Query -Objekte verwenden (eines für jeden Beitragstyp) oder alles mit einer Abfrage erfassen und dann mit PHP trennen? Ich kann mir ein paar Möglichkeiten vorstellen, um diese Arbeit zu machen, aber ich bin mir nicht sicher, was die beste Vorgehensweise für die Leistung und die Zukunftssicherung meines Codes wäre. Vielen Dank.

Update:
Ich habe den Rat von Alex Lane befolgt und mehrere Abfragen ausgeführt. Ich umgehe die Hauptabfrage für diese Archivseiten (es ist nicht erforderlich), indem ich die -Technik verwende, die in der Liste der WP-Hacker beschrieben ist, und dann Ich durchlaufe alle relevanten Beitragstypen und führe für jeden einen neuen WP_Query aus. Es erledigt den Job, aber es fühlt sich ziemlich klobig und unelegant für mich an.

Update 2:
Wenn ich darüber mehr nachdenke, frage ich mich, ob es vielleicht schneller ist, einfach alle Posts zu greifen und sie dann mit PHP in Post-Typ-Kategorien zu unterteilen. Ich bin jedoch kein Experte für Datenbankleistung, daher weiß ich es nicht. Ich stelle mir nur vor, 5-6 Mal eine etwas komplizierte Suchanfrage ausführen zu müssen (von denen einige wahrscheinlich keine Ergebnisse erzielen werden), bevor die Seite geladen wird. Das kommt mir sehr langsam vor. Andererseits kann das Abrufen eines umfangreichen Datensatzes aus der Datenbank nach nur einer Abfrage noch langsamer sein. Ich denke, die einzige Möglichkeit, dies sicher zu wissen, wäre ein Benchmarking, aber ich bin nur eine Person, und ich kann mir die Zeit nicht wirklich leisten, beide Systeme zu bauen und zu testen. Gibt es MySQL-Leistungsexperten, die darüber nachdenken?

2
Dominic P

Ich würde mehrere Abfragen machen. Ich weiß, dass das alles im Allgemeinen verlangsamt, aber manchmal, wenn Sie eine Seite mit einer Menge Inhalt suchen, ist das zu erwarten.

0
Alex Lane