abrain / einsatzverwaltung

WordPress plugin for public incident reports for fire departments and other rescue services
https://einsatzverwaltung.org
GNU General Public License v2.0
57 stars 17 forks source link

Auszug und Einsatzberichte im Archiv #177

Open florianhofhammer opened 5 years ago

florianhofhammer commented 5 years ago

Hallo, um in den Listen der Beiträge nicht den gesamten Einsatzbericht anzeigen zu lassen, sondern wie bei normalen Beiträgen nur den Auszug, wäre es super, wenn Sie das Eingabefeld für Auszüge im Admin-Backend hinzufügen könnten. Das hab ich momentan selbst gelöst, indem ich in der einsatzverwaltung-admin.php in der Funktion addMetaBoxes einen entsprechenden add_meta_box-Aufruf hinzugefügt habe, eine "offizielle" Lösung wäre aber natürlich praktisch, um bei Updates die Excerpt/Auszugs-Metabox nicht wieder zu verlieren. Außerdem werden Monate, in denen nur Einsatzberichte auf die Website gestellt wurden und keine anderen normalen Beiträge im Archiv-Widget von Wordpress in einer Sidebar nicht angezeigt. Ruft man das Archiv eines Monats manuell via der entsprechenden URL auf, tauchen die Einsatzberichte aber auf. Für mich wäre die Ideallösung, wenn im Archiv-Widget auch Einsatzberichte für das Auftauchen eines neuen Eintrags sorgen würden. Abgesehen davon aber ein großes Lob für das Plugin und seine vielen Möglichkeiten!

abrain commented 5 years ago

Die Auszug-Metabox kann ich permanent hinzufügen. Nachdem Metaboxen pro User ausgeblendet werden können, sollte die auch niemand stören.

In das Archiv-Widget kann ich nur bedingt eingreifen. Es sieht so aus, als ob es eine Möglichkeit gibt, die ist aber nicht 100 % sicher. Deshalb würde ich das dann per Einstellung zuschaltbar machen.

florianhofhammer commented 5 years ago

Einsatzberichte werden ja in der Datenbank wie normale Beiträge gespeichert und dann von Wordpress (zumindest im Frontend) auch so verarbeitet, oder? Wieso werden die Einsatzberichte dann nicht sowieso im Archiv-Widget angezeigt?

abrain commented 5 years ago

Einsatzberichte werden ja in der Datenbank wie normale Beiträge gespeichert und dann von Wordpress (zumindest im Frontend) auch so verarbeitet, oder?

Ja und Nein. Die Einsatzberichte sind ein sogenannter Custom Post Type. Sie verfügen über die gleichen Basiseigenschaften wie Beiträge, sind aber über den post_type von ihnen zu unterscheiden (post vs. einsatz). Dadurch könnnen die Einsatzberichte anders behandelt werden als die Beiträge, was an vielen Stellen ja auch notwendig ist (Speichern zusätzlicher Daten, Abfrage nur von Einsatzberichten, Einblenden der zusätzlichen Daten in der Einzelansicht, ...).

WordPress bietet an vielen Stellen an, die Abfragen zu manipulieren. So ist es eben auch möglich, bei der Abfrage der neuesten Beiträge die Einsatzberichte mit einzubeziehen. Normal werden dort nur Beiträge vom Typ post abgefragt, hier wird die Liste um den Typ einsatz erweitert. https://github.com/abrain/einsatzverwaltung/blob/3b4de2c1e1bd57a1c6c68ce7a927fd360242bd0d/src/einsatzverwaltung-frontend.php#L322-L335

In der im Archiv-Widget verwendeten Funktion wp_get_archives ist jedoch nicht vorgesehen, mehrere Beitragstypen gleichzeitig abzufragen. Es gibt die Möglichkeit, über den Hook getarchives_where das SQL-Statement zu verändern. Solange die WHERE-Anweisung von niemand anderem verändert wird, kein Problem. Es ist aber denkbar, dass andere Plugins oder sogar das Theme ebenso diese WHERE-Anweisung für ihre Zwecke abändern und es zu Konflikten kommt. Deshalb würde ich das über eine Option zu- und abschaltbar machen.

florianhofhammer commented 5 years ago

Vielen Dank für die Erklärung und die Einbindung dieser Möglichkeit!