rudelroots


RudelRoots


Das RudelRoots-Modul verwaltet Zutaten für die Barf-Fütterung (biologisch artgerechte Rohfleisch-Fütterung von Hunden) in Sets und berechnet daraus benötigte Mengen und Kosten – wahlweise nach Anzahl Tagen oder nach bereits vorhandener Menge einer Zutat.

Allgemein

Zutaten & Sets


Jede Zutat erhält Name, Beschreibung, Bild, optionalen Einkaufslink, einen Grammwert pro 5 kg Hundegewicht und Tag sowie einen Preis pro 100 g. Zutaten werden zu Sets gruppiert (z. B. für unterschiedliche Fütterungspläne); ein Set kann als Standard markiert werden und wird dann beim Aufruf des Rechners automatisch vorausgewählt.

Bedarfsrechner mit zwei Modi


Im Modus „Planung nach Tagen“ gibt man die gewünschte Anzahl Tage ein, das Modul berechnet für jede Zutat des gewählten Sets die benötigte Menge und die Kosten. Im Modus „Planung nach vorhandener Menge“ wählt man stattdessen eine bereits vorhandene Zutat mit ihrer Menge in Gramm aus – das Modul errechnet daraus, für wie viele ganze Tage der Vorrat reicht, und wie viel von den übrigen Zutaten des Sets für denselben Zeitraum benötigt wird.

Übersichtsliste


Eine separate Ansicht zeigt alle hinterlegten Zutaten als Kartenraster mit Bild, Beschreibung, Preis pro 100 g und optionalem Kauflink.

Shortcodes

ShortcodeBeschreibung
weinhold_rudelroots_listKartenraster aller Zutaten mit Bild, Beschreibung und Preis. Keine Parameter
weinhold_rudelroots_calculatorBedarfsrechner mit Set-Auswahl und den zwei Berechnungsmodi. Keine Parameter
rudelroots_list/ rudelroots_calculator Legacy-Aliase ohne weinhold_-Präfix, bereits in bestehenden Beiträgen verwendet und aus Kompatibilitätsgründen weiterhin aktiv

Dateien

DateiInhalt
modules/rudelroots.phpModul-Header, Initialisierung, Shortcode-Registrierung inkl. Legacy-Aliase, Audit-Log-Integration
modules/rudelroots/db.phpTabellen, Installation/Cleanup, CRUD für Zutaten und Sets
modules/rudelroots/admin.phpAdmin-Oberfläche, Formularverarbeitung, Bild-Upload
modules/rudelroots/frontend.phpBeide Shortcode-Renderer inkl. Rechenlogik für die zwei Kalkulationsmodi

Für Entwickler

Datenbank


TabelleSpalten(Auswahl)
weinhold_rudelroots_ingredientsname, description, link_url, image_url, gramm_per_5kg_per_day, price_per_100g, sort_order
weinhold_rudelroots_setsname, description, image_url, is_default, sort_order
weinhold_rudelroots_set_ingredientsset_id, ingredient_id(eindeutige Kombination)

Rechenlogik


weinhold_rudelroots_calculate_mode_a() skaliert gramm_per_5kg_per_day jeder Zutat linear mit der eingegebenen Tagesanzahl. weinhold_rudelroots_calculate_mode_b() rechnet umgekehrt: aus der vorhandenen Menge einer gewählten Zutat und ihrem Tagesbedarf ergibt sich die exakte sowie die abgerundete Anzahl reichender Tage, die dann auf alle übrigen Zutaten des Sets angewendet wird.

Bild-Upload & Audit-Log


Bilder für Zutaten und Sets laufen über wp_handle_upload() mit eigens gesetztem Upload-Verzeichnis- und Mime-Type-Filter statt über die volle Mediathek. Speichern und Löschen von Zutaten und Sets wird – sofern das Audit-Log-Modul aktiv ist – über weinhold_audit_log_log_event() protokolliert (Events ingredient_saved, ingredient_deleted, set_saved, set_deleted).

Besonderheiten

Die Legacy-Shortcode-Aliase (rudelroots_list, rudelroots_calculator ohne weinhold_-Präfix) wurden bewusst nicht entfernt, obwohl das Framework inzwischen konsequent das weinhold_-Präfix nutzt – bereits veröffentlichte Beiträge verwenden noch die alten Namen und sollen weiter funktionieren.

Beim Löschen einer Zutat oder eines Sets werden zuerst die Verknüpfungen in weinhold_rudelroots_set_ingredients entfernt und erst danach der Haupteintrag – ohne Fremdschlüssel-Constraint auf Datenbankebene übernimmt das Modul diese Reihenfolge selbst.

Wird beim Speichern eines Sets is_default gesetzt, entfernt das Modul das Flag zuerst bei allen anderen Sets – es kann also immer nur genau ein Standard-Set geben.

Versionshistorie

VersionDatumÄnderung
1.0.022.09.2026Einführung der Versionierung.