💬 WP Business Forum

Ein vollständiges, eigenständiges Forum-Plugin für WordPress — mit eigenem Login-System, dynamischen Rollen, Privatnachrichten, BBCode, Level-System, Moderations-Tools und vielem mehr.

Version 2.0.0 · Getestet mit WordPress 6.x · PHP 8.0+ · MySQL 5.7+


📋 Inhaltsverzeichnis


Features

🔐 Eigenes Login-System

  • Komplett unabhängig vom WordPress-Backend — Forum-Nutzer brauchen keinen WP-Account
  • Registrierung direkt im Forum-Frontend
  • Remember-Me Cookie (30 Tage)
  • Passwort vergessen mit sicherem Reset-Link per E-Mail (1 Stunde gültig)
  • Auto-Logout bei Inaktivität (einstellbar: 5 Min. bis 8 Std.)
  • Groß-/Kleinschreibung beim Login egal

📁 Kategorien & Threads

  • Eltern-Kind-Hierarchie — unbegrenzte Verschachtelung
  • Threads erstellen, bearbeiten (Titel + Inhalt), löschen
  • Pinnen und Schließen von Threads (Moderatoren+)
  • Thread-Tags für bessere Auffindbarkeit
  • Views-Counter pro Thread
  • Breadcrumb-Navigation durch die gesamte Hierarchie
  • Kategorie-Zugangsbeschränkung per Mindest-Rolle

💬 Posts & Interaktion

  • Antworten mit Live-Vorschau (kein Seitenreload)
  • Like-System für Threads und Posts
  • Emoji-Reaktionen (👍 ❤️ 😂 😮 😢 🔥)
  • Zitieren mit automatischem [quote=Name]-BBCode
  • @Erwähnungen — klickbare Profil-Links
  • Beiträge melden mit Begründung
  • Posts und Thread-Titel nachträglich bearbeiten

🛡️ Rollen-System

6 Standard-Rollen + beliebig viele eigene Rollen:

Rolle Level Besonderheit
👑 Superadmin 100 Automatisch an WP-Administrator gebunden — unveränderlich
🔴 Admin 80 Vollständige Verwaltung
🟡 Moderator 50 Moderation von Threads & Posts
🔵 VIP 20 Eigenes Badge
Member 10 Standard für neue Nutzer
Gesperrt -1 Kein Forum-Zugang

Jede Rolle ist vollständig anpassbar: Label, Level, Farbe, Icon (FontAwesome), Permissions.

Level-System

Automatisches Level basierend auf Beitragsanzahl (kann deaktiviert werden):

Level Ab Beiträgen Icon
🌱 Neuling 0 fas fa-seedling
🪶 Schreiberling 10 fas fa-feather
🔥 Erfahrener 50 fas fa-fire
🛡️ Veteran 150 fas fa-shield-halved
👑 Legende 500 fas fa-crown

Levels sind im Admin vollständig anpassbar — Bezeichnung, Schwellenwert, Icon, Farbe.

👤 Profile

  • Eigenes Avatar-Bild (Upload oder Gravatar)
  • Anzeigename, Bio und Signatur (max. 300 Zeichen, erscheint unter jedem Beitrag)
  • Profil-Seite mit Beitragsübersicht und Fortschrittsbalken
  • Mitgliederliste (nur für eingeloggte Nutzer) mit Suche und Sortierung

✉️ Privatnachrichten

  • Direktnachrichten zwischen Nutzern
  • Posteingang mit Konversations-Übersicht
  • Ungelesene Nachrichten werden im Topbar angezeigt
  • Ältere Nachrichten laden (Pagination)
  • Nachrichten löschen

🔔 Benachrichtigungen

  • In-App-Glocke in der Topbar mit Badge
  • E-Mail-Benachrichtigungen bei:
    • Antwort auf eigenen Thread
    • @Erwähnung
    • Neue Privatnachricht
  • Benachrichtigungen als gelesen markieren

🔍 Suche

  • Volltextsuche in Threads und Posts
  • Live-Vorschläge bei der Eingabe
  • Ergebnisse mit Kategorie und Datum

🔧 Moderations-Tools

  • Thread pinnen / entpinnen
  • Thread schließen / öffnen
  • Thread in andere Kategorie verschieben
  • Posts und Threads löschen
  • Meldungs-System mit Admin-Dashboard
  • Nutzer sperren mit Sperrgrund (wird beim Login angezeigt)

⚙️ Admin-Backend

  • Übersicht mit Echtzeit-Statistiken
  • Kategorien verwalten (Hierarchie, Icons, Min-Rolle)
  • Rollen erstellen, bearbeiten, löschen
  • Level konfigurieren
  • Mitglieder verwalten — Rolle, E-Mail, Passwort, Anzeigename ändern
  • Meldungen bearbeiten (offen / erledigt / verworfen)
  • Einstellungen — alle Forum-Texte anpassbar, kein Code nötig
  • Export / Import — vollständige Datensicherung

🚀 Installation

Methode 1 — ZIP hochladen (empfohlen)

  1. Lade das Repository als .zip herunter
  2. WordPress-Admin → PluginsInstallierenPlugin hochladen
  3. ZIP auswählen und installieren
  4. Plugin aktivieren

Methode 2 — FTP / Dateimanager

  1. Lade den Ordner wp-business-forum auf deinen Server hoch
  2. Zielverzeichnis: /wp-content/plugins/wp-business-forum/
  3. WordPress-Admin → Plugins → WP Business Forum aktivieren

Voraussetzungen

  • WordPress 6.0+
  • PHP 8.0+
  • MySQL 5.7+ oder MariaDB 10.3+
  • wp_mail() für E-Mail-Benachrichtigungen (Standard-WP-Mailer)

🧙 Erster Start — Setup-Wizard

Nach der Aktivierung wirst du automatisch zum Setup-Wizard weitergeleitet:

Schritt 1 — Superadmin-Konto erstellen

  • Dein Name und deine WP-Admin-E-Mail sind bereits vorausgefüllt
  • Gib ein Passwort für dein Forum-Konto ein
  • Das Konto wird automatisch dauerhaft mit dem Superadmin-Status verknüpft

Schritt 2 — Forum-Seite erstellen

  • Optional: Eine WordPress-Seite mit dem Shortcode wird automatisch angelegt
  • Du kannst auch eine eigene Seite manuell erstellen

Schritt 3 — Fertig!

  • Direktlink zur Forum-Seite
  • Link zum Admin-Dashboard

⚠️ Wichtig: Verwende beim Superadmin-Konto dieselbe E-Mail wie dein WordPress-Administratorkonto. Das Plugin verknüpft sie automatisch und stellt bei jedem Login sicher, dass dein Account immer Superadmin-Rechte hat.


📌 Shortcode

Füge diesen Shortcode auf einer beliebigen WordPress-Seite ein:

[business_forum]

Das Plugin erkennt automatisch den aktuellen URL-Parameter und zeigt die passende Ansicht:

URL-Parameter Ansicht
(kein Parameter) Forum-Startseite
?forum_cat=slug Kategorie-Ansicht
?forum_thread=123 Thread-Ansicht
?forum_profile=123 Profil-Seite
?forum_members=1 Mitgliederliste
?forum_search=Begriff Suchergebnisse
?forum_tag=tagname Tag-Übersicht
?forum_dm=1 Privatnachrichten
?wbf_do_logout=1 Logout (serverseitig)
?wbf_reset_token=… Passwort zurücksetzen

🛠️ Admin-Bereich

Erreichbar unter WP-Admin → Business Forum

Übersicht

  • Echtzeit-Statistiken: Threads, Beiträge, Mitglieder, Tags, Meldungen
  • Schnellzugriff auf alle Unterbereiche
  • Rollensystem-Übersicht

Kategorien

  • Kategorien erstellen und bearbeiten
  • Eltern-Kind-Hierarchie per Dropdown
  • Icon (FontAwesome-Klasse), Beschreibung, Sortierreihenfolge
  • Mindest-Rolle zum Posten (z.B. nur Moderatoren können in "Ankündigungen" posten)

Rollen

  • Eigene Rollen mit individuellem Label, Level (199), Farbe, Icon und Permissions erstellen
  • Rollen löschen (Nutzer werden automatisch auf "Member" gesetzt)
  • Superadmin ist gesperrt und kann nicht verändert werden

Verfügbare Permissions:

Permission Beschreibung
post Beiträge schreiben
create_thread Threads erstellen
like Beiträge liken
pin_thread Threads pinnen
close_thread Threads schließen
delete_post Posts löschen
delete_thread Threads löschen
manage_users Nutzer verwalten
manage_cats Kategorien verwalten
post_announcement In eingeschränkte Kategorien posten

Level

  • Level-Bezeichnung, Mindest-Beitragsanzahl, Icon und Farbe anpassen
  • Neues Level hinzufügen oder bestehende löschen
  • Level-System global aktivieren/deaktivieren
  • Zurücksetzen auf Standard-Konfiguration

Mitglieder

  • Alle Forum-Nutzer mit Rolle, Beitragsanzahl und Registrierungsdatum
  • Rolle ändern direkt in der Tabelle (inkl. Sperrgrund bei "Gesperrt")
  • Profil bearbeiten: Anzeigename, E-Mail, Passwort
  • Superadmin-Konten sind schreibgeschützt

Meldungen

  • Gemeldete Beiträge mit Begründung und Melder
  • Status: Offen · Erledigt · Verworfen
  • Direktlink zum gemeldeten Beitrag

Einstellungen

Alle sichtbaren Texte des Forums ohne Code ändern:

  • Hero-Bereich (Titel, Untertitel)
  • Topbar (Forum-Name, Button-Beschriftungen)
  • Statistik-Labels
  • Abschnittsüberschriften
  • Sidebar-Titel
  • Auto-Logout nach Inaktivität (0 = deaktiviert, bis 8 Stunden)

Export / Import

Vollständige Datensicherung aller Forum-Daten als .json-Datei:

Bereich Inhalt
⚙️ Einstellungen Forum-Texte, Labels, Auto-Logout
🛡️ Rollen Alle Rollen mit Permissions & Design
Level Level-Konfiguration & Status
📂 Kategorien Kategoriestruktur inkl. Hierarchie
👥 Benutzer Accounts inkl. Passwort-Hashes
💬 Threads & Posts Alle Inhalte inkl. Tags
❤️ Likes & Reaktionen Likes, Reaktionen, Benachrichtigungen
✉️ Privatnachrichten Alle DM-Konversationen
🚩 Meldungen Gemeldete Beiträge inkl. Status

🎨 Rollen & Berechtigungen

Superadmin — Sonderfall

Der Superadmin ist immer an den WordPress-Administrator gebunden:

  • Wird bei jedem Seitenaufruf automatisch synchronisiert
  • Kann nicht manuell vergeben oder entzogen werden
  • Hat Zugriff auf alle Funktionen ohne Einschränkung
  • Kann im Admin-Panel nicht gelöscht oder bearbeitet werden

Rollen-Hierarchie

Höherer level-Wert = mehr Rechte. Wenn eine Kategorie eine Mindest-Rolle hat, müssen Nutzer mindestens dieses Level haben um dort zu posten.

Eigene Rollen erstellen

  1. WP-Admin → Business Forum → Rollen+ Neue Rolle
  2. Rollen-Schlüssel vergeben (z.B. trusted_member) — kann nicht geändert werden
  3. Anzeigename, Level (zwischen member = 10 und admin = 80), Farbe, Icon, Permissions
  4. Speichern

📊 Level-System

Das Level-System ist optional und kann jederzeit ein- oder ausgeschaltet werden. Es basiert ausschließlich auf der Anzahl der Beiträge eines Nutzers.

Level-Badge

Wird auf der Profil-Seite, in Posts und auf der Mitgliederliste angezeigt.

Fortschrittsbalken

Auf der eigenen Profil-Seite wird angezeigt:

  • Aktuelles Level mit Badge
  • Anzahl der benötigten Beiträge bis zum nächsten Level
  • Fortschrittsbalken in der Levelfarbe

Konfiguration

WP-Admin → Business Forum → Level → Neue Einträge hinzufügen oder bestehende bearbeiten.


🏷️ BBCode-Referenz

Nutzer können in Threads und Posts folgende Formatierungen verwenden:

Text-Formatierung

[b]Fett[/b]
[i]Kursiv[/i]
[u]Unterstrichen[/u]
[s]Durchgestrichen[/s]
[h2]Überschrift 2[/h2]
[h3]Überschrift 3[/h3]

Farbe & Größe

[color=red]Roter Text[/color]
[color=#00b4d8]Hex-Farbe[/color]
[size=small]Kleiner Text[/size]
[size=large]Großer Text[/size]
[size=xlarge]Sehr großer Text[/size]

Erlaubte Farbnamen: red, blue, green, orange, yellow, purple, pink, cyan, white, gray, black, gold, silver, lime, teal, navy

[url=https://beispiel.de]Link-Text[/url]
[url]https://beispiel.de[/url]
[img]https://beispiel.de/bild.jpg[/img]

Code

[code]
function helloWorld() {
    echo "Hallo Welt!";
}
[/code]

Inline: [icode]$variable[/icode]

Zitat

[quote]Allgemeines Zitat[/quote]
[quote=M_Viper]Zitat von M_Viper[/quote]

Spoiler

[spoiler]Versteckter Inhalt[/spoiler]
[spoiler=Titel]Inhalt mit Titel[/spoiler]

Listen

[list]
[*] Erstes Element
[*] Zweites Element
[/list]

[list=1]
[*] Nummeriert
[*] Liste
[/list]

Ausrichtung & Trennlinie

[center]Zentrierter Text[/center]
[right]Rechtsbündiger Text[/right]
[hr]

@Erwähnungen

@Benutzername

Wird automatisch zu einem klickbaren Profil-Link und sendet eine Benachrichtigung.


📁 Dateistruktur

wp-business-forum/
├── wp-business-forum.php          # Plugin-Hauptdatei
├── includes/
│   ├── class-forum-db.php         # Datenbankschicht (alle Abfragen)
│   ├── class-forum-auth.php       # Login, Register, Session, Remember-Me
│   ├── class-forum-roles.php      # Dynamisches Rollensystem
│   ├── class-forum-levels.php     # Level-System
│   ├── class-forum-bbcode.php     # BBCode → HTML Parser
│   ├── class-forum-shortcodes.php # Frontend-Rendering (alle Ansichten)
│   └── class-forum-ajax.php       # AJAX-Handler (alle Aktionen)
├── admin/
│   ├── forum-admin.php            # Admin-Panel (alle Unterseiten)
│   ├── forum-settings.php         # Einstellungsseite & wbf_get_settings()
│   └── forum-setup.php            # Einrichtungs-Wizard
└── assets/
    ├── css/
    │   └── forum-style.css        # Komplettes Dark-Theme (Minecraft Modern)
    └── js/
        └── forum-script.js        # Alle Frontend-Interaktionen (jQuery)

🗄️ Datenbank-Tabellen

Alle Tabellen werden bei der Plugin-Aktivierung automatisch erstellt. Bestehende Tabellen werden beim Update automatisch um neue Spalten erweitert (via ALTER TABLE).

Tabelle Inhalt
{prefix}forum_users Forum-Accounts (unabhängig von WP-Usern)
{prefix}forum_categories Kategorien mit Eltern-Kind-Hierarchie
{prefix}forum_threads Hauptthreads
{prefix}forum_posts Antworten auf Threads
{prefix}forum_likes Likes auf Threads und Posts
{prefix}forum_tags Tag-Bibliothek
{prefix}forum_thread_tags Verknüpfung Thread ↔ Tags
{prefix}forum_messages Privatnachrichten
{prefix}forum_reactions Emoji-Reaktionen auf Posts
{prefix}forum_reports Gemeldete Beiträge
{prefix}forum_notifications In-App-Benachrichtigungen
{prefix}forum_remember_tokens Remember-Me-Tokens

💾 Export & Import

Export

  1. WP-Admin → Business Forum → Export / Import
  2. Gewünschte Bereiche anwählen (alle standardmäßig aktiviert)
  3. Als JSON exportieren klicken
  4. Die Datei wird sofort heruntergeladen (wbf-backup-DATUM.json)

Import

  1. WP-Admin → Business Forum → Export / Import
  2. Backup-Datei auswählen (.json)
  3. Überschreiben-Optionen nach Bedarf aktivieren
  4. Importieren klicken

⚠️ Hinweis: Der Import von Nutzern enthält Passwort-Hashes und funktioniert für Migrationen zwischen WordPress-Sites. Superadmin-Status wird beim Import nie übertragen — nur der WP-Administrator erhält automatisch Superadmin-Rechte.

Überschreiben-Optionen

Option Effekt
Kategorien überschreiben Löscht alle bestehenden Kategorien vor dem Import
Benutzer aktualisieren Aktualisiert vorhandene Accounts (gleicher Username)
Threads & Posts überschreiben Löscht alle Threads, Posts, Likes und Reaktionen
Privatnachrichten überschreiben Löscht alle DMs vor dem Import
Meldungen überschreiben Löscht alle Meldungen vor dem Import

FAQ

Brauchen Forum-Nutzer einen WordPress-Account? Nein. Das Forum hat ein komplett eigenständiges Login-System. Forum-Nutzer können sich direkt im Frontend registrieren ohne Zugang zum WordPress-Backend.

Wie werde ich Superadmin? Registriere dich im Forum mit derselben E-Mail-Adresse wie dein WordPress-Administratorkonto. Das Plugin erkennt dies automatisch. Falls du bereits ein Forum-Konto mit einer anderen E-Mail hast, kannst du dieses entweder im Setup-Wizard hochstufen oder direkt in der Datenbank das role-Feld auf superadmin setzen.

Kann ich mehrere Superadmins haben? Nein. Der Superadmin-Status ist fest an das WordPress-Administratorkonto gebunden. Du kannst jedoch mehrere Nutzer auf die Rolle Admin (Level 80) setzen — diese haben nahezu dieselben Rechte.

Funktioniert das Plugin mit Caching-Plugins? Ja, grundsätzlich. Der Logout-Button nutzt einen direkten Server-Link (?wbf_do_logout=1) statt AJAX und ist daher Caching-sicher. Falls du Probleme mit veralteten Nonces hast, deaktiviere das Caching für die Forum-Seite in deinem Caching-Plugin.

Wie passe ich das Design an? Das Plugin enthält ein vollständiges Dark-Theme (forum-style.css) passend zum "Minecraft Modern Theme"-Stil. Für eigene Anpassungen füge dein CSS in der WordPress-Customizer oder einer Custom-CSS-Datei hinzu und verwende die CSS-Custom-Properties des Plugins (z.B. --c-primary, --c-surface).

Welche E-Mail-Konfiguration wird benötigt? Das Plugin nutzt wp_mail() — denselben Mechanismus wie WordPress selbst. Wenn dein WordPress bereits E-Mails senden kann (z.B. für Passwort-Zurücksetzen), funktionieren auch die Forum-Benachrichtigungen. Für zuverlässige E-Mail-Zustellung empfiehlt sich ein SMTP-Plugin wie WP Mail SMTP.

Wie lösche ich alle Forum-Daten? Deaktiviere und lösche das Plugin. Die Datenbanktabellen werden dabei nicht automatisch gelöscht (WordPress-Standard). Um die Tabellen zu entfernen, führe in phpMyAdmin oder WP-CLI folgende Abfragen aus:

DROP TABLE IF EXISTS
  wp_forum_users, wp_forum_categories, wp_forum_threads, wp_forum_posts,
  wp_forum_likes, wp_forum_tags, wp_forum_thread_tags, wp_forum_messages,
  wp_forum_reactions, wp_forum_reports, wp_forum_notifications, wp_forum_remember_tokens;

Entwickelt mit ❤️ für die WordPress-Community

Description
No description provided
Readme 1.5 MiB
1.0.5 Latest
2026-03-30 18:53:40 +00:00
Languages
PHP 79.1%
CSS 11.4%
JavaScript 9.5%