# WP Ingame Shop Pro Ein leistungsstarker, vollständig eigenständiger Ingame-Shop für WordPress, entwickelt für Minecraft-Server (Spigot/Paper). Er bietet ein komfortables Warenkorb-System, Gutscheine, Daily Deals und eine benutzerdefinierte Währung – komplett ohne RCON. Dieses Plugin nutzt eine eigene Datenbankstruktur für maximale Performance und vollständige Unabhängigkeit von WordPress-Beiträgen. --- ## ✨ Highlights - 🛒 **Warenkorb-System** Mehrere Items pro Bestellung. Eine Bestellung = eine saubere Datenbankzeile mit JSON-Details. - ⚡ **Mehrfachbearbeitung (Bulk Edit)** Hunderte Items gleichzeitig bearbeiten (Preis, Server, Kategorie, Status). - 💰 **Eigene Währung** „Coins“, „Tokens“ oder beliebige virtuelle Währungen. - 🖼️ **Automatische Bildzuweisung** `minecraft:diamond` → `minecraft_diamond.png` Ideal für große Bildsammlungen (1500+ Dateien). - 🔥 **Daily Deal & Sale-System** - 🎫 **Smart Coupons** Prozent- oder Festbetrag, optional nicht kombinierbar mit Angeboten. - 🌐 **REST API ohne RCON** - 📊 **Top-Spender & Umsatzstatistik** --- ## 🚀 Installation 1. Ordner `wp-ingame-shop-pro` nach: wp-content/plugins/ 2. Plugin im WordPress Backend aktivieren. 3. Fertig. Bei Aktivierung werden automatisch erstellt: - Datenbanktabellen (`wp_wis_*`) - Cron-Jobs für Daily Deals --- # 🖼️ Bilder-Konfiguration (Gitea Raw) ## 📂 Basis-URL für alle Item-Bilder ``` https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/images/ ``` ### 🔧 Eintragen im Plugin **Ingame Shop → Einstellungen → Bilder Basis-URL** Eintragen: ``` https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/images/ ``` --- ## 📌 Automatische Bildlogik Item-ID im Shop: ``` minecraft:diamond ``` Automatisch geladen wird: ``` https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/images/minecraft_diamond.png ``` Regeln: - `:` wird zu `_` - Dateiendung = `.png` - Keine manuelle Bildzuweisung notwendig --- # 📥 Quick JSON Import (Direkt von Gitea) ## 🔗 Import-URL ``` https://git.viper.ipv64.net/M_Viper/WP-Ingame-Shop-Pro/raw/branch/main/items.json ``` --- ## 🛠️ Import durchführen 1. **Ingame Shop → JSON Tools** 2. **Import** 3. URL einfügen 4. Import starten Ideal für: - Kompletten Shop-Aufbau in Sekunden - Regelmäßige Synchronisation - Kombination mit Bulk Edit --- # 🛠️ Admin-Bereich ## 1️⃣ Einstellungen - Shop Header Text - Währungsname (z.B. Coins) - Bilder Basis-URL - Daily Deal (% Rabatt) - Gutscheine auf Sale-Items erlauben / verbieten --- ## 2️⃣ Items Verwaltung ### Einzelbearbeitung - Item ID (`minecraft:diamond`) - Preis - Angebotspreis - Server-Zuweisung - Kategorie - Status (`publish` / `draft`) --- ## 🔄 Bulk Edit (Mehrfachbearbeitung) Beispiel: 100 Items einem Server zuweisen. 1. Items anhaken 2. „Massenaktionen“ wählen: - Server zuweisen - Preis ändern - Kategorie setzen - Status ändern 3. Anwenden 4. Änderungen speichern Überschreibt bestehende Server-/Kategorie-Zuweisungen. --- ## 3️⃣ Weitere Bereiche ### 📦 Bestellungen - Bestellungen anzeigen - Manuell abschließen - Stornieren Status: ``` pending processing completed cancelled ``` --- ### 🌐 Server Beispiel: ``` lobby survival skyblock ``` Frontend-Filter werden automatisch generiert. --- ### 📂 Kategorien Beispiel: ``` Blöcke Waffen Rüstung Ranks ``` --- ### 🎫 Gutscheine - `fixed` (Festbetrag) - `percent` (Prozent) - Ablaufdatum - Nutzungslimit - Ausschluss bei Angeboten --- ### 📊 Top Spender Automatische Auswertung der Bestellungen. --- # 🎮 Frontend Nutzung Shortcode: ``` [ingame_shop_form] ``` --- ## Spieler-Funktionen - Suche - Server-Filter - Kategorie-Tabs - Warenkorb - Gutschein-Eingabe - Server-Validierung beim Checkout --- # 📡 REST API Basis: ``` /wp-json/wis/v1/ ``` --- ## Bestellung erstellen ``` POST /wis/v1/order ``` ```json { "player": "Name", "server": "survival", "cart": [ { "id": "item_id", "quantity": 1 } ], "coupon_code": "CODE" } ``` --- ## Offene Bestellungen abrufen ``` GET /wis/v1/pending_orders?player=Name ``` --- ## Status ändern ``` POST /wis/v1/execute_order POST /wis/v1/complete_order POST /wis/v1/cancel_order ``` --- ## Gutschein validieren ``` POST /wis/v1/validate_coupon ``` --- # 💾 Datenbank-Struktur ## `wp_wis_items` | Feld | Beschreibung | |------|-------------| | item_id | minecraft:diamond | | name | Anzeigename | | price | Standardpreis | | offer_price | Angebotspreis | | is_offer | 0 / 1 | | servers | JSON Array | | categories | JSON Array | | status | publish / draft | --- ## `wp_wis_orders` | Feld | Beschreibung | |------|-------------| | player_name | Minecraft Name | | server | Zielserver | | item_title | Zusammenfassung | | price | Gesamtpreis | | response | JSON | | status | pending / processing / completed / cancelled | --- ## `wp_wis_coupons` | Feld | Beschreibung | |------|-------------| | code | Gutschein | | type | fixed / percent | | value | Rabattwert | | usage_limit | Limit | | used_count | Nutzung | --- ## `wp_wis_servers` Serverdefinitionen --- ## `wp_wis_categories` Kategoriedefinitionen --- # ⚡ Performance Empfehlung Bei 1500+ PNG-Dateien: - CDN empfohlen - PNG verlustfrei komprimieren - Gitea Caching aktivieren - Optional WebP-Versionen erstellen --- # 🔐 Sicherheitshinweis Aktuell sind API-Endpunkte öffentlich (`__return_true`). Für Produktion empfohlen: - API-Key Header - Bearer Token - IP Whitelisting - Nonce/Signature System --- # 📦 Meta Version: 2.1.0 Autor: M_Viper Lizenz: GPL-2.0-or-later