| Weitere Artikel aus dem Webentwickler Blog |
| Teilen |
In diesem Beitrag bereiten wir die Abfragen aus der Datenbank vor, darüber hinaus lernen wir die Entscheidungsstruktur kennen, die für unser kleines Projekt benötigt wird. Für ersteres brauchen wir zwei Funktionen, die wir uns näher betrachten wollen.
Für die weiteren Abfragen der Datenbank benötigen wir die ID des aktiven Posts. Diese können wir mit der Funktion get_the_ID() ermitteln.
Funktionsname: get_the_ID() Parameter: Dieser Tag akzeptiert keine Parameter. Beschreibung: Ermittelt die ID des aktiven Beitrags und gibt sie zur Verwendung in PHP zurück. Diese Funktion muss im WordPress-Loop verwendet werden.Nun können wir erstens sicherstellen, dass die Variable $valInserat mit einem Leerstring initialisiert ist, und zweitens mit get_post_meta() ein benutzerdefiniertes Feld abrufen. Damit können wir sehen, ob ein Inserat dargestellt werden soll, und wenn ja, in welcher Ansicht. get_post_meta() betrachten wir uns gleich näher.
Funktionsname: get_post_meta($postID, $fieldName, $singleString) Parameter: $postID (obligatorisch) ID (eindeutige Nummer) des Artikels als Ganzzahl. $fieldName (obligatorisch) - Name eines benutzerdefinierten Feldes als String, dessen Wert für den Post mit der Nummer $ID ermittelt werden soll. $singleString (optional) - Dieser Boole’sche Parameter legt das Antwortformat fest. Wird er auf true gesetzt, wird ein einzelner String zurückgegeben. Hat das Argument den Wert false (Standard), so erhalten wir ein Array mit dem Wert des Feldes. Beschreibung: Ermittelt den Wert eines benutzerdefinierten Feldes und eines festgelegten Artikels als String oder als Array.
Damit die Funktion aus unserer Sicht erfolgreich ausgeführt wird, also Daten liefert, müssen wir beim Anlegen des Artikels im Backend ein benutzerdefiniertes Feld mit dem Namen inserat anlegen. Als Werte haben wir zwei festgelegt: all für eine Ansicht im Frontend und in der Einzelansicht und single für ein Inserat nur in der Einzelansicht. Natürlich ist es möglich, weitere Werte zu verwenden. Diese müssen wir nur in unserer Funktion abfragen und entsprechend verarbeiten. Hat ein Artikel kein Feld mit dem Namen inserat angelegt, so antwortet die Funktion mit einem leeren String.
Als nächstes legen wir eine etwas komplizierte Entscheidungsstruktur fest, um die Ansichten zu definieren, in denen die Inserate angezeigt werden.
...
//Ausgabe des Inserats je nach Ansicht
if ($valInserat != "" &&
(!is_page() && !is_search() &&
($valInserat == "all" ||
(!is_single() && $valInserat != "single") ||
( is_single() && $valInserat == "single")
)
)
)
{
} //Ende pruefen auf $valInserat und Ansicht
...
} //Ende function
?>
Allein aus dem Quellcode heraus ist es schwierig, die Bedingung zu verstehen. Werfen wir daher auch noch einen Blick auf ein Flussdiagramm:
Ganzen Artikel lesen...





































