PSource Plugins können verschiedene Network-Modi unterstützen, die steuern, wie sie auf ClassicPress Single-Site und Multisite-Installationen aktiviert werden können.
Verwendung: ClassicPress Standard für Plugins die NUR auf Multisite funktionieren und dort nur netzwerkweit aktivierbar sein sollen.
Plugin-Header:
/*
Plugin Name: Mein Plugin
Network: true
*/
Verhalten:
Beispiele:
⚠️ Nicht verwenden für: Plugins die auch auf Single-Sites funktionieren sollen!
Verwendung: Plugins die auf Single-Sites normal laufen, aber auf Multisite nur netzwerkweit aktiviert werden sollen.
Plugin-Header:
/*
Plugin Name: Mein Plugin
PS Network: required
*/
Verhalten:
Beispiele:
ps-update-manager - Zentrale Verwaltung für Multisite, normal auf Single-Sitesdefault-theme - Netzwerk-Theme-Manager für Multisite✅ Empfohlen für: Die meisten PSource Plugins mit Multisite-Support
Verwendung: Plugins die sowohl netzwerkweit als auch site-by-site aktiviert werden können.
Plugin-Header:
/*
Plugin Name: Mein Plugin
PS Network: flexible
*/
Verhalten:
Beispiele:
ps-chat - Kann für alle Sites oder nur bestimmte aktiviert werdenVerwendung: Normale Plugins die nur auf Unterseiten-Ebene aktivierbar sind (nicht netzwerkweit).
Plugin-Header:
/*
Plugin Name: Mein Plugin
// Kein Network-Header
*/
Verhalten:
Beispiele:
Network: true verwenden?⚠️ Vorsicht: Dieser Modus macht das Plugin auf Single-Sites unnutzbar!
Nutze Network: true nur wenn:
Beispiele:
// Domain Mapping - nur Multisite-Konzept
Network: true
// Netzwerk-Site-Kloner - nur auf Multisite sinnvoll
Network: true
PS Network: required verwenden? ⭐ EMPFOHLEN✅ Am häufigsten verwendet für PSource Plugins
Nutze PS Network: required wenn:
Beispiele:
// Update Manager - Single-Site OK, Multisite zentral
PS Network: required
// Standard Theme - Single-Site OK, Multisite netzwerkweit
PS Network: required
// Zentrale Settings - Single-Site OK, Multisite nur netzwerkweit
PS Network: required
PS Network: flexible verwenden?Nutze PS Network: flexible wenn:
Beispiele:
// Chat Plugin - optional für einzelne oder alle Sites
PS Network: flexible
// Analytics Plugin - je nach Bedarf
PS Network: flexible
// Social Media Integration - Site-spezifisch oder netzwerkweit
PS Network: flexible
Nutze keinen Network-Header wenn:
ClassicPress Network (Network: true):
[Netzwerkweit aktivieren]
⚠️ Dieses Plugin kann nur netzwerkweit aktiviert werden.
Multisite Required (PS Network: required):
[Netzwerkweit aktivieren]
ℹ️ Auf Multisite nur netzwerkweit aktivierbar. Auf Single-Sites normal nutzbar.
Network Flexible (PS Network: flexible):
[Netzwerkweit aktivieren]
ℹ️ Kann auch site-by-site im Site-Admin aktiviert werden.
Site-Only (kein Header):
[Aktivieren]
ℹ️ Nur auf Unterseiten-Ebene aktivierbar (nicht netzwerkweit).
ClassicPress Network oder Multisite Required:
[🔒 Nur Netzwerk-Admin] (deaktiviert)
⚠️ Dieses Plugin kann nur im Netzwerk-Admin aktiviert werden.
Network Flexible oder Site-Only:
[Aktivieren]
ℹ️ Aktiviert das Plugin nur für diese Site.
Site-Only im Netzwerk-Admin:
[Button nicht verfügbar]
ℹ️ Nur auf Unterseiten-Ebene aktivierbar.
ClassicPress Network (Network: true):
❌ Plugin kann nicht aktiviert werden
Alle anderen Modi:
[Aktivieren]
✅ Normal aktivierbar
Network: true zu PS Network: required ⭐ EMPFOHLENWenn dein Plugin auch auf Single-Sites funktionieren soll:
// Vorher - blockiert Single-Sites
/*
Plugin Name: Mein Plugin
Network: true
*/
// Nachher - Single-Sites OK, Multisite nur netzwerkweit
/*
Plugin Name: Mein Plugin
PS Network: required
*/
// Vorher
/*
Plugin Name: Mein Plugin
*/
// Nachher - Multisite-aware
/*
Plugin Name: Mein Plugin
PS Network: required
*/
// Vorher
/*
Plugin Name: Mein Plugin
PS Network: required
*/
// Nachher - beide Modi erlaubt
/*
Plugin Name: Mein Plugin
PS Network: flexible
*/
Der PS Update Manager Scanner erkennt automatisch:
PS Network: required|flexible Header (hat Vorrang)Network: true HeaderDie erkannten Werte werden in der Registry gespeichert:
array(
'slug' => 'ps-update-manager',
'network_only' => true, // true auf Multisite wenn multisite-required
'network_mode' => 'multisite-required', // Modi: 'wordpress-network', 'multisite-required', 'flexible', 'none'
// ...
)
flexibleis_plugin_active_for_network() im Code wenn nötigNetwork: true nur weil es ein Multisite gibtflexible immer netzwerkweit aktiviert istPS Network Header (PSource-spezifisch)Network Header (ClassicPress Standard)$file_data = get_file_data( $plugin_file, array(
'Network' => 'Network',
'PSNetwork' => 'PS Network',
) );
| Header-Wert | Single-Site | Multisite Netzwerk | Multisite Site | network_mode |
|---|---|---|---|---|
Network: true |
❌ Blockiert | Nur netzwerkweit | ❌ Blockiert | wordpress-network |
PS Network: required |
✅ Normal | Nur netzwerkweit | ❌ Blockiert | multisite-required |
PS Network: flexible |
✅ Normal | Beide Modi | Beide Modi | flexible |
| Kein Header | ✅ Normal | ❌ Nicht verfügbar | Nur Site-Ebene | none |