Ich möchte eine Unterklasse von erstellen WP_Postund einige "Modellfunktionen" hinzufügen. Wie kann ich WP zwingen, Objekte dieser untergeordneten Klasse anstelle von WP_Post selbst zu erstellen, wenn ich nach meinem benutzerdefinierten Beitragstyp frage?
Beispiel:
Nehmen wir an, ich habe zwei benutzerdefinierte Beitragstypen: Bookund Review. Jedes Buch kann viele Rezensionen haben. In meinem Buch möchte ich eine Methode, um alle Bewertungen zusammenzufassen. Ich würde die folgende Klasse definieren:
class Book extends WP_Post
{
public function reviewsSummary()
{
// Retrieve all reviews for $this book
// Sum up their ratings
// Return that sum
}
}
Gibt es eine Möglichkeit, zum Beispiel beim Aufrufen register_post_type()WordPress zu zwingen, alle Beiträge vom Typ "Buch" in meine BookKlasse zu werfen, anstatt WP_Post?
Könnte ungefähr so aussehen:
register_post_type('book', [
…,
'class' => Acme\Models\Book::class
]);
WP_Postwird selten direkt benötigt, wenn Sie sich nicht auf Prüfungen gegen einen konkreten Typ verlassen müssen.