Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3e93ff7649 |
439
README.md
439
README.md
@@ -1,2 +1,439 @@
|
|||||||
# WP-Multi-Formular
|
# WP Multi Formular
|
||||||
|
|
||||||
|
**Version:** 1.0.0
|
||||||
|
**Autor:** M_Viper
|
||||||
|
**Website:** https://m-viper.de
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Inhaltsverzeichnis
|
||||||
|
|
||||||
|
1. [Beschreibung](#beschreibung)
|
||||||
|
2. [Installation](#installation)
|
||||||
|
3. [Erstes Formular erstellen](#erstes-formular-erstellen)
|
||||||
|
4. [Formular-Builder](#formular-builder)
|
||||||
|
5. [Feldtypen](#feldtypen)
|
||||||
|
6. [Bedingte Logik](#bedingte-logik)
|
||||||
|
7. [Mehrstufige Formulare](#mehrstufige-formulare)
|
||||||
|
8. [E-Mail-Einstellungen](#e-mail-einstellungen)
|
||||||
|
9. [Einreichungen verwalten](#einreichungen-verwalten)
|
||||||
|
10. [Integrationen](#integrationen)
|
||||||
|
11. [Anti-Spam](#anti-spam)
|
||||||
|
12. [Shortcode](#shortcode)
|
||||||
|
13. [Datenbankstruktur](#datenbankstruktur)
|
||||||
|
14. [Häufige Fragen](#häufige-fragen)
|
||||||
|
15. [Changelog](#changelog)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Beschreibung
|
||||||
|
|
||||||
|
WP Multi Formular ist ein vollständiger Drag & Drop Formular-Builder für WordPress.
|
||||||
|
Komplett auf Deutsch, keine externe Lizenz, keine monatlichen Kosten.
|
||||||
|
|
||||||
|
**Kernfunktionen:**
|
||||||
|
- Drag & Drop Builder mit Live-Vorschau
|
||||||
|
- 18 Feldtypen inkl. DSGVO, Unterschrift, Bewertung
|
||||||
|
- Bedingte Logik (Felder ein-/ausblenden)
|
||||||
|
- Mehrstufige Formulare mit Fortschrittsleiste
|
||||||
|
- Einreichungen vollständig im Backend lesen
|
||||||
|
- E-Mail-Benachrichtigungen (Admin + Absender)
|
||||||
|
- SMTP-Unterstützung (eigener Mailserver)
|
||||||
|
- Honeypot + reCAPTCHA Anti-Spam
|
||||||
|
- 11 Integrationen (Mailchimp, Stripe, Zapier u.v.m.)
|
||||||
|
- CSV-Export aller Einreichungen
|
||||||
|
- DSGVO-konform
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
1. ZIP-Datei herunterladen
|
||||||
|
2. WordPress Admin → **Plugins → Installieren → Plugin hochladen**
|
||||||
|
3. ZIP auswählen und installieren
|
||||||
|
4. Plugin **aktivieren**
|
||||||
|
|
||||||
|
Das Plugin legt beim ersten Aktivieren automatisch die Datenbank-Tabelle `wp_wmf_submissions` an.
|
||||||
|
|
||||||
|
**Mindestanforderungen:**
|
||||||
|
- WordPress 5.8 oder höher
|
||||||
|
- PHP 7.4 oder höher
|
||||||
|
- MySQL 5.7 oder höher
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Erstes Formular erstellen
|
||||||
|
|
||||||
|
1. **Formulare → + Neues Formular** anklicken
|
||||||
|
2. Einen Titel eingeben (z.B. „Kontaktformular")
|
||||||
|
3. Felder aus der linken Palette in die Mitte ziehen oder anklicken
|
||||||
|
4. Felder per Drag & Drop anordnen
|
||||||
|
5. Rechts die Formular-Einstellungen konfigurieren (E-Mails, Erfolgsmeldung)
|
||||||
|
6. **Formular speichern** klicken
|
||||||
|
7. Den angezeigten Shortcode auf einer Seite oder in einem Beitrag einfügen:
|
||||||
|
|
||||||
|
```
|
||||||
|
[wp_multi_formular id="123"]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Formular-Builder
|
||||||
|
|
||||||
|
Der Builder besteht aus drei Bereichen:
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────┬─────────────────────────┬────────────────┐
|
||||||
|
│ Palette │ Canvas │ Einstellungen │
|
||||||
|
│ (Felder) │ (Formular-Aufbau) │ (rechts) │
|
||||||
|
│ │ │ │
|
||||||
|
│ ▪ Textfeld │ ┌─ Ihr Name ────────┐ │ [Tabs] │
|
||||||
|
│ ▪ E-Mail │ ├─ E-Mail ──────────┤ │ Allgemein │
|
||||||
|
│ ▪ Textarea │ ├─ Nachricht ───────┤ │ E-Mails │
|
||||||
|
│ ▪ Auswahl │ └─ Absenden ────────┘ │ Schritte │
|
||||||
|
│ ▪ … │ │ Erweitert │
|
||||||
|
└──────────────┴─────────────────────────┴────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
**Feld hinzufügen:** Links anklicken oder in die Mitte ziehen
|
||||||
|
**Feld verschieben:** Am ≡ Symbol ziehen
|
||||||
|
**Feld konfigurieren:** Auf das Feld klicken → Einstellungen öffnen sich rechts
|
||||||
|
**Feld löschen:** ✕ Button im Feld oder „Feld löschen" im Einstellungs-Panel
|
||||||
|
**Vorschau:** „👁 Vorschau" Button oben rechts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Feldtypen
|
||||||
|
|
||||||
|
### Standard-Felder
|
||||||
|
|
||||||
|
| Feldtyp | Beschreibung |
|
||||||
|
|---|---|
|
||||||
|
| **Textfeld** | Einzeiliges Textfeld, mit Platzhalter und Pflichtfeld-Option |
|
||||||
|
| **E-Mail** | E-Mail mit Formatvalidierung |
|
||||||
|
| **Textbereich** | Mehrzeiliges Feld, konfigurierbare Zeilenanzahl und Zeichenbegrenzung |
|
||||||
|
| **Zahl** | Numerisches Eingabefeld mit Min/Max/Schrittweite |
|
||||||
|
| **Telefon** | Telefonnummer-Feld (type="tel") |
|
||||||
|
| **Website-URL** | URL mit Formatvalidierung |
|
||||||
|
| **Datum** | Datums-Picker mit optionalem Min/Max-Datum |
|
||||||
|
| **Datei-Upload** | Dateiupload mit Typ- und Größenbeschränkung, speichert in WordPress-Mediathek |
|
||||||
|
|
||||||
|
### Auswahl-Felder
|
||||||
|
|
||||||
|
| Feldtyp | Beschreibung |
|
||||||
|
|---|---|
|
||||||
|
| **Auswahlliste** | Dropdown-Menü, einzeln oder Mehrfachauswahl |
|
||||||
|
| **Kontrollkästchen** | Mehrere Optionen wählbar, horizontales oder vertikales Layout |
|
||||||
|
| **Radio-Buttons** | Genau eine Option wählbar |
|
||||||
|
| **Bewertung (Sterne)** | Sterne-Bewertung, 1–10 Sterne konfigurierbar |
|
||||||
|
| **Schieberegler** | Numerischer Bereich mit konfigurierbarem Min/Max |
|
||||||
|
| **DSGVO-Zustimmung** | Pflicht-Checkbox mit anpassbarem Datenschutz-Text |
|
||||||
|
| **Unterschrift** | Canvas-Feld zum Unterschreiben (Maus oder Touch) |
|
||||||
|
|
||||||
|
### Layout-Felder
|
||||||
|
|
||||||
|
| Feldtyp | Beschreibung |
|
||||||
|
|---|---|
|
||||||
|
| **Trennlinie / Abschnitt** | Optische Trennung oder Abschnittsüberschrift |
|
||||||
|
| **HTML-Block** | Freier HTML-Inhalt im Formular |
|
||||||
|
| **Verstecktes Feld** | Unsichtbares Feld, unterstützt dynamische Werte |
|
||||||
|
|
||||||
|
**Dynamische Werte für versteckte Felder:**
|
||||||
|
- `{{user_ip}}` – IP-Adresse des Besuchers
|
||||||
|
- `{{page_url}}` – Aktuelle Seiten-URL
|
||||||
|
- `{{date}}` – Aktuelles Datum (YYYY-MM-DD)
|
||||||
|
|
||||||
|
### Feld-Optionen (alle Felder)
|
||||||
|
|
||||||
|
- **Bezeichnung** – Label über dem Feld
|
||||||
|
- **Feldname** – Interner Name (nur a-z, 0-9, _)
|
||||||
|
- **Platzhaltertext** – Grauer Hilfstext im leeren Feld
|
||||||
|
- **Hilfetext** – Beschreibung unter dem Feld
|
||||||
|
- **Pflichtfeld** – Formular kann nicht ohne dieses Feld abgesendet werden
|
||||||
|
- **Breite** – Volle Breite / ½ Breite / ⅓ Breite
|
||||||
|
- **CSS-Klasse** – Eigene CSS-Klasse für individuelles Styling
|
||||||
|
- **Bedingte Logik** – Feld ein-/ausblenden je nach anderen Feldinhalten
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Bedingte Logik
|
||||||
|
|
||||||
|
Felder können abhängig von anderen Feldern ein- oder ausgeblendet werden.
|
||||||
|
|
||||||
|
**Einrichten:**
|
||||||
|
1. Feld anklicken → Einstellungen öffnen
|
||||||
|
2. Ganz unten „Bedingte Logik" auf **Aktiviert** stellen
|
||||||
|
3. Wählen: Dieses Feld **anzeigen** oder **ausblenden**
|
||||||
|
4. Bedingung: **alle** oder **eine** Regel muss erfüllt sein
|
||||||
|
5. Regeln hinzufügen: Welches Feld / Welcher Operator / Welcher Wert
|
||||||
|
|
||||||
|
**Verfügbare Operatoren:**
|
||||||
|
- `ist` – Feldwert ist genau gleich
|
||||||
|
- `ist nicht` – Feldwert ist ungleich
|
||||||
|
- `enthält` – Feldwert enthält den Text
|
||||||
|
- `ist ausgefüllt` – Feld hat irgendeinen Wert
|
||||||
|
|
||||||
|
**Beispiel:**
|
||||||
|
Ein Textarea-Feld „Anmerkungen" soll nur erscheinen, wenn bei einem Radio-Feld „Ja" ausgewählt wird:
|
||||||
|
- Dieses Feld: **anzeigen**
|
||||||
|
- Wenn: **alle** Bedingungen erfüllt sind
|
||||||
|
- Regel: `[Radio-Feld] ist Ja`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Mehrstufige Formulare
|
||||||
|
|
||||||
|
Lange Formulare können in übersichtliche Schritte aufgeteilt werden.
|
||||||
|
|
||||||
|
**Aktivieren:**
|
||||||
|
1. Rechts auf Tab **Schritte** wechseln
|
||||||
|
2. „Mehrstufiges Formular aktivieren" anhaken
|
||||||
|
3. Optional: Fortschrittsleiste aktivieren
|
||||||
|
4. Schritt-Bezeichnungen eingeben (z.B. „Persönliche Daten", „Kontakt", „Bestätigung")
|
||||||
|
|
||||||
|
**Felder Schritten zuweisen:**
|
||||||
|
- Im Canvas hat jedes Feld ein Schritt-Dropdown (S1, S2, S3 …)
|
||||||
|
- Felder ohne Zuweisung landen in Schritt 1
|
||||||
|
|
||||||
|
**Funktionsweise:**
|
||||||
|
- Besucher navigieren mit „Weiter" / „Zurück" durch die Schritte
|
||||||
|
- Jeder Schritt wird vor dem Weiterblättern validiert
|
||||||
|
- Fortschrittsleiste zeigt den aktuellen Schritt an
|
||||||
|
- Formular wird erst beim letzten Schritt abgesendet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## E-Mail-Einstellungen
|
||||||
|
|
||||||
|
### Globale Einstellungen (für alle Formulare)
|
||||||
|
|
||||||
|
**Formulare → Integrationen → Globale E-Mail-Einstellungen**
|
||||||
|
|
||||||
|
- **Absendername** – Name der in der „Von:"-Zeile erscheint
|
||||||
|
- **Absender-E-Mail** – E-Mail-Adresse des Absenders
|
||||||
|
|
||||||
|
> **Tipp:** Nutzen Sie eine E-Mail-Adresse Ihrer eigenen Domain
|
||||||
|
> (z.B. `noreply@viper-network.de`) um Spam-Filter zu vermeiden.
|
||||||
|
|
||||||
|
### SMTP (eigener Mailserver)
|
||||||
|
|
||||||
|
Wenn WordPress-Standard-Mail nicht funktioniert oder E-Mails im Spam landen:
|
||||||
|
|
||||||
|
| Einstellung | Beispiel Gmail | Beispiel Strato/IONOS |
|
||||||
|
|---|---|---|
|
||||||
|
| SMTP-Host | smtp.gmail.com | smtp.strato.de |
|
||||||
|
| Port | 587 | 587 |
|
||||||
|
| Verschlüsselung | TLS | TLS |
|
||||||
|
| Benutzername | ihre@gmail.com | ihre@domain.de |
|
||||||
|
| Passwort | App-Passwort | E-Mail-Passwort |
|
||||||
|
|
||||||
|
> **Gmail:** Kein normales Passwort verwenden!
|
||||||
|
> Google Konto → Sicherheit → 2-Faktor-Authentifizierung → **App-Passwörter** → Neues App-Passwort erstellen
|
||||||
|
|
||||||
|
**Test-Mail:** Nach dem Speichern kann eine Test-E-Mail gesendet werden.
|
||||||
|
|
||||||
|
### Pro-Formular E-Mail-Einstellungen
|
||||||
|
|
||||||
|
Im Formular-Builder (Tab **E-Mails**):
|
||||||
|
|
||||||
|
**Admin-Benachrichtigung:**
|
||||||
|
- An: Empfänger-E-Mail (Standard: WordPress-Admin)
|
||||||
|
- Betreff: Frei konfigurierbar
|
||||||
|
- Reply-To: Wird automatisch auf die E-Mail-Adresse des Absenders gesetzt
|
||||||
|
|
||||||
|
**Absender-Bestätigung:**
|
||||||
|
- Sendet automatisch eine Bestätigungs-E-Mail an den Formular-Ausfüller
|
||||||
|
- Voraussetzung: Formular muss ein E-Mail-Feld enthalten
|
||||||
|
- Betreff und Nachricht frei konfigurierbar
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Einreichungen verwalten
|
||||||
|
|
||||||
|
### Übersicht
|
||||||
|
|
||||||
|
**Formulare → Einreichungen**
|
||||||
|
|
||||||
|
Zeigt alle Formulare mit:
|
||||||
|
- Gesamtanzahl der Einreichungen
|
||||||
|
- Anzahl neuer (ungelesener) Einreichungen (blauer Badge)
|
||||||
|
- Datum der letzten Einreichung
|
||||||
|
|
||||||
|
### Einreichungsliste
|
||||||
|
|
||||||
|
Klick auf ein Formular öffnet die Liste aller Einreichungen:
|
||||||
|
- **Status-Tabs:** Alle / Neu / Gelesen / Archiviert
|
||||||
|
- **Suche:** Volltextsuche in allen Feldwerten
|
||||||
|
- **Status ändern:** Direkt in der Liste per Dropdown
|
||||||
|
- **Pagination:** 25 Einreichungen pro Seite
|
||||||
|
- **CSV-Export:** Alle Einreichungen als Tabelle exportieren
|
||||||
|
|
||||||
|
### Detailansicht
|
||||||
|
|
||||||
|
Klick auf eine Einreichung öffnet die vollständige Ansicht:
|
||||||
|
- Alle Feldwerte typengerecht dargestellt
|
||||||
|
- E-Mail-Adressen als anklickbare Links
|
||||||
|
- URLs als anklickbare Links
|
||||||
|
- Sterne-Bewertungen als goldene Sterne
|
||||||
|
- Bilder direkt angezeigt (bei Datei-Uploads)
|
||||||
|
- Unterschriften als Bild
|
||||||
|
- DSGVO-Zustimmung mit Symbol
|
||||||
|
- Vorherige / Nächste Navigation
|
||||||
|
- **Drucken** ohne Admin-Menü
|
||||||
|
- Wird beim Öffnen automatisch als „Gelesen" markiert
|
||||||
|
|
||||||
|
### Status-Bedeutung
|
||||||
|
|
||||||
|
| Status | Bedeutung |
|
||||||
|
|---|---|
|
||||||
|
| **Neu** | Noch nicht geöffnet, blau hervorgehoben |
|
||||||
|
| **Gelesen** | Wurde in der Detailansicht geöffnet |
|
||||||
|
| **Archiviert** | Manuell archiviert, ausgeblendet in Standard-Ansicht |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Integrationen
|
||||||
|
|
||||||
|
**Formulare → Integrationen**
|
||||||
|
|
||||||
|
### E-Mail-Marketing
|
||||||
|
|
||||||
|
| Dienst | Benötigt | Funktion |
|
||||||
|
|---|---|---|
|
||||||
|
| **Mailchimp** | API-Key + Audience-ID | Abonnenten in Liste eintragen |
|
||||||
|
| **MailerLite** | API-Key (+ Gruppen-ID) | Abonnenten eintragen |
|
||||||
|
| **ActiveCampaign** | Konto-URL + API-Key | Kontakt erstellen + Liste |
|
||||||
|
| **ConvertKit / Kit** | API-Key + (Formular-ID) | Abonnent in Formular eintragen |
|
||||||
|
|
||||||
|
### Zahlungsabwicklung
|
||||||
|
|
||||||
|
| Dienst | Modus | Benötigt |
|
||||||
|
|---|---|---|
|
||||||
|
| **Stripe** | Test / Live | Publishable Key + Secret Key |
|
||||||
|
| **PayPal** | Sandbox / Live | Client-ID + Secret |
|
||||||
|
|
||||||
|
### Automatisierung
|
||||||
|
|
||||||
|
| Dienst | Funktion |
|
||||||
|
|---|---|
|
||||||
|
| **Zapier** | Sendet JSON-Webhook bei jeder Einreichung |
|
||||||
|
|
||||||
|
Zapier kann damit mit 5.000+ anderen Apps verbunden werden (Google Sheets, Slack, CRMs, etc.)
|
||||||
|
|
||||||
|
### Analyse
|
||||||
|
|
||||||
|
| Dienst | Funktion |
|
||||||
|
|---|---|
|
||||||
|
| **Google Analytics (GA4)** | Bindet gtag.js automatisch ein |
|
||||||
|
|
||||||
|
### Standortdienste
|
||||||
|
|
||||||
|
| Dienst | Funktion |
|
||||||
|
|---|---|
|
||||||
|
| **Google Places** | Adress-Autocomplete in Textfeldern |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Anti-Spam
|
||||||
|
|
||||||
|
### Honeypot (Standard, immer aktiv)
|
||||||
|
|
||||||
|
Ein unsichtbares Feld wird dem Formular hinzugefügt. Menschen sehen und füllen es nicht aus. Bots füllen es automatisch aus und werden stillschweigend blockiert.
|
||||||
|
|
||||||
|
**Aktivierung:** Formular-Builder → Tab Allgemein → „Honeypot Anti-Spam aktivieren"
|
||||||
|
|
||||||
|
Kein API-Key nötig, kein externer Dienst, keine Auswirkung auf Nutzer.
|
||||||
|
|
||||||
|
### reCAPTCHA
|
||||||
|
|
||||||
|
**Aktivierung:**
|
||||||
|
1. Formulare → Integrationen → reCAPTCHA v2 oder v3
|
||||||
|
2. API-Keys bei [google.com/recaptcha](https://www.google.com/recaptcha/admin/create) erstellen
|
||||||
|
3. Keys eintragen und speichern
|
||||||
|
4. Im Formular-Builder → Tab Allgemein → „reCAPTCHA aktivieren"
|
||||||
|
|
||||||
|
**v2:** Zeigt die „Ich bin kein Roboter"-Checkbox
|
||||||
|
**v3:** Unsichtbar, bewertet Nutzerverhalten mit Score (0.0–1.0, empfohlen: 0.5)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Shortcode
|
||||||
|
|
||||||
|
```
|
||||||
|
[wp_multi_formular id="123"]
|
||||||
|
```
|
||||||
|
|
||||||
|
| Parameter | Beschreibung | Beispiel |
|
||||||
|
|---|---|---|
|
||||||
|
| `id` | ID des Formulars (Pflicht) | `id="123"` |
|
||||||
|
|
||||||
|
Die Formular-ID ist in der Formularliste unter dem Formular-Namen sichtbar, oder im Shortcode der automatisch nach dem Speichern angezeigt wird.
|
||||||
|
|
||||||
|
**Verwendung:**
|
||||||
|
- In Seiten und Beiträgen als Block oder klassischer Editor
|
||||||
|
- In Widgets (Textwidget)
|
||||||
|
- In PHP-Templates: `echo do_shortcode('[wp_multi_formular id="123"]');`
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Datenbankstruktur
|
||||||
|
|
||||||
|
Das Plugin erstellt eine eigene Tabelle:
|
||||||
|
|
||||||
|
**`wp_wmf_submissions`**
|
||||||
|
|
||||||
|
| Spalte | Typ | Beschreibung |
|
||||||
|
|---|---|---|
|
||||||
|
| `id` | BIGINT | Primärschlüssel, Auto-Increment |
|
||||||
|
| `form_id` | BIGINT | ID des WordPress-Posts (wmf-form) |
|
||||||
|
| `data` | LONGTEXT | JSON-kodierte Feldinhalte |
|
||||||
|
| `ip` | VARCHAR(45) | IP-Adresse des Absenders |
|
||||||
|
| `user_agent` | TEXT | Browser/OS des Absenders |
|
||||||
|
| `status` | VARCHAR(20) | neu / gelesen / archiviert |
|
||||||
|
| `created_at` | DATETIME | Zeitstempel der Einreichung |
|
||||||
|
|
||||||
|
Formulare werden als Custom Post Type `wmf-form` gespeichert.
|
||||||
|
Formular-Konfiguration (Felder, Einstellungen) liegt in Post-Meta `_wmf_form_data`.
|
||||||
|
|
||||||
|
**WordPress-Optionen:**
|
||||||
|
- `_wmf_service_credentials` – API-Keys aller Integrationen
|
||||||
|
- `wmf_global_settings` – Globale E-Mail/SMTP-Einstellungen
|
||||||
|
- `wmf_db_version` – Datenbankversion für Migrations
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Häufige Fragen
|
||||||
|
|
||||||
|
**Formulare werden abgesendet aber keine E-Mail kommt an**
|
||||||
|
→ Formulare → Integrationen → SMTP aktivieren und eigenen Mailserver eintragen.
|
||||||
|
→ Test-Mail senden und prüfen ob der Versand funktioniert.
|
||||||
|
→ Einreichung trotzdem im Backend unter Formulare → Einreichungen prüfen.
|
||||||
|
|
||||||
|
**Labels sind im Frontend unsichtbar (dunkles Theme)**
|
||||||
|
→ Die Plugin-CSS setzt Labels auf weiß (`color:#fff!important`) für dunkle Themes.
|
||||||
|
→ Falls weiterhin Probleme: In der Theme-CSS `.wmf-label { color: ... !important; }` überschreiben.
|
||||||
|
|
||||||
|
**„Headers already sent" Warnung beim Löschen**
|
||||||
|
→ Ein anderes aktives Plugin gibt Output aus bevor WordPress die Header sendet.
|
||||||
|
→ WP Multi Formular hat dafür einen eingebauten JavaScript-Fallback-Redirect.
|
||||||
|
→ Das Löschen funktioniert trotzdem, die Warnung erscheint nur kurz.
|
||||||
|
|
||||||
|
**Einreichungen werden nicht gespeichert**
|
||||||
|
→ Formular-Builder → Tab Allgemein → „Einreichungen in DB speichern" aktivieren.
|
||||||
|
|
||||||
|
**Formular erscheint nicht auf der Seite**
|
||||||
|
→ Shortcode prüfen: `[wp_multi_formular id="123"]` – die ID muss korrekt sein.
|
||||||
|
→ Formular-Status muss „Veröffentlicht" sein.
|
||||||
|
|
||||||
|
**Datei-Uploads funktionieren nicht**
|
||||||
|
→ PHP-Einstellung `upload_max_filesize` und `post_max_size` prüfen.
|
||||||
|
→ WordPress → Einstellungen → Medien: Upload-Ordner muss beschreibbar sein.
|
||||||
|
|
||||||
|
**Bedingte Logik funktioniert nicht**
|
||||||
|
→ Feldnamen prüfen: Der interne Feldname (nicht Label) muss in der Bedingung verwendet werden.
|
||||||
|
→ JavaScript-Fehler in der Browser-Konsole prüfen (F12).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*WP Multi Formular – entwickelt von M_Viper*
|
||||||
|
*https://M-viper.de*
|
||||||
|
|||||||
Reference in New Issue
Block a user