Files
WP-Ingame-Shop-Pro/README.md
2026-02-15 09:58:25 +00:00

383 lines
5.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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