Sagen wir, ich habe vor ein Plugin zur Verwaltung von Büchern zu entwickeln. Zu diesem Zweck wird ein Custom Post Type "Buch" hinzugefügt. Zu jedem Buch werden im Admin-Bereich neben dem eigentlichen Text auch verschiedenste andere Daten gespeichert. Diese sollen im Front-End dann natürlich auch ausgegeben werden. Nun stellt sich mir die Frage: wie wird das am besten gemacht? Mir kommen zwei Möglichkeiten in den Sinn:
- Erstellung eines single-buch.php Template-Files. Eine Default-Variante kann im Plugin enthalten sein und Nutzer können die Konfiguration mittels eigenem File im Theme überschreiben. Problem: in dem Template müsste auch der Code zur Anzeige der Sidebar, Footer und der restlichen Seitenstruktur hinein, sprich es ist eigentlich unmöglich, ein für mehrere Themes passendes Template mit dem Plugin auszuliefern.
- Nutzung des 'the_content'-Hook - damit lassen sich Daten leicht vor oder nach dem Content einfügen, auch ein templating wäre umsetzbar. Wenn allerdings auch anderes, wie beispielsweise die Anzeige der Meta-Daten oder die Anzeige der Beitragsnavigation, verändert werden sollen, wird es hier jedoch wieder schwierig, etwas bereit zu stellen, das unabhängig vom Theme funktioniert.
Kurz gesagt, ich finde beide Optionen eher suboptimal. Übersehe ich hier irgendwie eine bessere Lösung? Der Anwendungsfall müsste ja eigentlich ziemlich üblich sein.