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
Shortcode Beschreibung weinhold_rudelroots_list Kartenraster aller Zutaten mit Bild, Beschreibung und Preis. Keine Parameter weinhold_rudelroots_calculator Bedarfsrechner 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
Datei Inhalt modules/rudelroots.php Modul-Header, Initialisierung, Shortcode-Registrierung inkl. Legacy-Aliase, Audit-Log-Integration modules/rudelroots/db.php Tabellen, Installation/Cleanup, CRUD für Zutaten und Sets modules/rudelroots/admin.php Admin-Oberfläche, Formularverarbeitung, Bild-Upload modules/rudelroots/frontend.php Beide Shortcode-Renderer inkl. Rechenlogik für die zwei Kalkulationsmodi
Für Entwickler
Datenbank
Tabelle Spalten (Auswahl) weinhold_rudelroots_ingredients name, description, link_url, image_url, gramm_per_5kg_per_day, price_per_100g, sort_order weinhold_rudelroots_sets name, description, image_url, is_default, sort_order weinhold_rudelroots_set_ingredients set_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).
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.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.
Versionshistorie
Version Datum Änderung 1.0.0 22.09.2026 Einführung der Versionierung.