Ich habe eine Abfrage, welche ich weitergehend sortieren möchte. Dazu habe ich folgenden Ansatz:
Anschließend werden einzeln die Inhalte der Arrays entsprechend formatiert ausgegeben.
Ich denke, das kann man mit Sicherheit deutlich eleganter und einfacher machen (vor allem, weil es natürlich schlecht ist jede Kategorie per Hand anzulegen), allerdings geht mir das mit den mehrdimensionalen Arrays nicht so leicht von der Hand. Im Prinzip ist es so, dass bei der Abfrage immer die $kategorie (ID) abgefragt wird. Es soll ein Array erstellt werden, der alle Ergebnisse mit der gleichen Kategorie beinhaltet. Alleine hier kann man doch die Arrays sicher auch schon so gestalten, dass ich sie nicht per Hand erstellen muss ($kategorie4, $kategorie5, usw...). Ich meine die Arrays heißen ja schon so, wie die Kategorie-ID lautet... ($sonstige könnte man auch $kategorie0 nennen).
Also im Grunde soll einfach jeder Post in den passenden Kategorie-Array gepackt werden.
Hiernach soll ein Gesamtarray ($ausgabe) erstellt werden, welchem jedem Kategorie-Array noch einen Titel und eine Kurzform zuweist (das muss wohl per Hand einmalig angelegt werden). Abschließend wird dieser Gesamtarray entsprechend formatiert ausgegeben. Oder man legt vorher per Hand einen Array mit den Titeln und Kurzformen an und verbindet dies dann bei der Ausgabe mit den Kategorien-Array. Weiß nicht, was sinnvoller und einfacher ist.
Kurz zusammengefasst: Jeder Post der Schleife soll einer Kategorie zugeordnet werden und anschließend soll die gesamte Ausgabe dann so erfolgen, dass zunächst der Titel und die Kurzform der Kategorie als Überschrift ausgegeben wird und dann entsprechend der zugehörige Inhalt bzw. die Posts dieser Kategorie aufgeführt werden.
Möglicherweise sagt auch jemand, dass Arrays für diesen Zweck zu kompliziert sind...
PHP:
$kategorie4 = array();
$kategorie5 = array();
//und noch mehr Arrays
$sonstige = array();
$ergebnis = array();
while (have_posts()) : the_post();
// Variablen werden eingelesen - habe ich jetzt mal hier weggelassen
array_push($ergebnis, $kategorie, $titel, $link, $text);
if ($kategorie == 5) { array_push($kategorie5, $ergebnis); }
elseif ($kategorie == 4) { array_push($kategorie4, $ergebnis); }
// und noch viel mehr elseif-Abfragen
else { array_push($sonstige, $ergebnis); }
$ergebnis = array();
endwhile;
Anschließend werden einzeln die Inhalte der Arrays entsprechend formatiert ausgegeben.
Ich denke, das kann man mit Sicherheit deutlich eleganter und einfacher machen (vor allem, weil es natürlich schlecht ist jede Kategorie per Hand anzulegen), allerdings geht mir das mit den mehrdimensionalen Arrays nicht so leicht von der Hand. Im Prinzip ist es so, dass bei der Abfrage immer die $kategorie (ID) abgefragt wird. Es soll ein Array erstellt werden, der alle Ergebnisse mit der gleichen Kategorie beinhaltet. Alleine hier kann man doch die Arrays sicher auch schon so gestalten, dass ich sie nicht per Hand erstellen muss ($kategorie4, $kategorie5, usw...). Ich meine die Arrays heißen ja schon so, wie die Kategorie-ID lautet... ($sonstige könnte man auch $kategorie0 nennen).
Also im Grunde soll einfach jeder Post in den passenden Kategorie-Array gepackt werden.
Hiernach soll ein Gesamtarray ($ausgabe) erstellt werden, welchem jedem Kategorie-Array noch einen Titel und eine Kurzform zuweist (das muss wohl per Hand einmalig angelegt werden). Abschließend wird dieser Gesamtarray entsprechend formatiert ausgegeben. Oder man legt vorher per Hand einen Array mit den Titeln und Kurzformen an und verbindet dies dann bei der Ausgabe mit den Kategorien-Array. Weiß nicht, was sinnvoller und einfacher ist.
Kurz zusammengefasst: Jeder Post der Schleife soll einer Kategorie zugeordnet werden und anschließend soll die gesamte Ausgabe dann so erfolgen, dass zunächst der Titel und die Kurzform der Kategorie als Überschrift ausgegeben wird und dann entsprechend der zugehörige Inhalt bzw. die Posts dieser Kategorie aufgeführt werden.
Möglicherweise sagt auch jemand, dass Arrays für diesen Zweck zu kompliziert sind...