familien-bestellungen


Familien-Bestellungen


Das Familien-Bestellungen-Modul vereinfacht wiederkehrende Sammelbestellungen innerhalb einer Gruppe – ob Familie, Freundeskreis oder Community. Jedes Mitglied trägt seine Menge pro Position ein, ein Koordinator behält die Gesamtübersicht.

Allgemein

Eine Bestellung erstellen


Ein Koordinator legt eine Sammelbestellung mit Titel, Beschreibung, optionalem Shop-Link, einer Liste von Positionen und einer Einsendefrist an. Ausgewählte Mitglieder werden per E-Mail über die neue Bestellung informiert.

Mengen eintragen


Solange eine Bestellung offen ist, tragen Mitglieder ihre gewünschte Menge pro Position direkt im Frontend ein – mehrfach anpassbar, bis die Frist erreicht ist.

Fristen & automatische E-Mails


Ein stündlicher Hintergrundjob prüft alle offenen Bestellungen: Läuft die Frist in weniger als sieben Tagen ab, wird einmalig eine Erinnerungsmail verschickt (an die ursprünglich benachrichtigten Mitglieder UND alle, die bereits eine Menge eingetragen haben). Ist die Frist erreicht, schließt das Modul die Bestellung automatisch und verschickt eine Abschluss-Zusammenfassung.

Koordinator-Übersicht & Export


Der Koordinator sieht eine Gesamtübersicht aller Positionen mit Mengen pro Nutzer und kann die Bestellung als CSV exportieren.

Shortcodes

ShortcodeBeschreibung
weinhold_family_ordersRendert die Bestellübersicht: offene und abgeschlossene Bestellungen, Erstell-Formular, Detail-/Mengen-Ansicht

Dateien

modules/family_orders.php – einzige Datei des Moduls: Datenbank, Cron-Job, Frontend-Formularverarbeitung, drei E-Mail-Versandfunktionen, CSV-Export, Shortcode, Admin-Seite, Cleanup.

Für Entwickler

Datenbank


TabelleSpalten(Auswahl)
weinhold_family_orderstitle, description, shop_url, status(open/closed), deadline_gmt, notify_user_ids, launch_mail_sent, reminder_mail_sent, closed_mail_sent
weinhold_family_order_itemsorder_id, name, item_url, sort_order
weinhold_family_order_entriesorder_id, item_id, user_id, quantity(unique je Kombination aus allen dreien)

Cron-Job


weinhold_family_orders_cron_tick läuft stündlich (registriert 15 Minuten nach der Modul-Aktivierung, WP-Cron-Standardintervall hourly). weinhold_family_orders_run_cron_tick() schließt Bestellungen mit abgelaufener Frist automatisch und löst dabei die Abschluss-Mail aus, verschickt außerdem für Bestellungen mit Frist innerhalb der nächsten sieben Tage einmalig die Erinnerungsmail (Flags launch_mail_sent/reminder_mail_sent/closed_mail_sent verhindern Mehrfachversand).

Drei E-Mail-Funktionen


FunktionWannEmpfänger
weinhold_family_orders_send_launch_mail($order_id)BeiErstellung Konfigurierte notify_user_ids
weinhold_family_orders_send_reminder_mail($order)Fristin unter 7 Tagen notify_user_ids PLUS alle, die bereits eine Menge eingetragen haben
weinhold_family_orders_send_closed_summary_mail($order_id)Fristerreicht notify_user_ids

Besonderheiten

Die Erinnerungsmail geht NICHT nur an Mitglieder ohne Eintrag, sondern zusätzlich an alle, die bereits eine Menge eingetragen haben – vermutlich damit auch Teilnehmer, die schon mitgemacht haben, ihre Mengen vor Fristende noch anpassen können.

Alle drei E-Mail-Funktionen nutzen direktes wp_mail() statt des zentralen Template-Systems des E-Mail-Versand-Moduls – anders als z. B. Gerätesicherheit oder Security Manager, die ihre Benachrichtigungen über weinhold_send_module_mail() mit anpassbaren Vorlagen versenden.

Eigenes Tabellenpräfix wpdb prefix statt des sonst im Framework üblichen wpdb base_prefix – wie beim Bastard-des-Monats-Modul ist dieses Modul bewusst nicht Multisite-übergreifend gedacht.

Versionshistorie

VersionDatumÄnderung
1.0.022.09.2026Einführung der Versionierung.