Ich bin gerade dabei, ein (potenziell) großes Netzwerk mit mehreren Standorten einzurichten und möchte es jetzt so einfach wie möglich machen, Standorte bei Bedarf hinzuzufügen und zu konfigurieren. Ich bin gerade in der Phase, in der ich mich mit Plugins befasse.
Bei multisite sind mir verschiedene Möglichkeiten bekannt, wie Sie Plugins aktivieren können
- Setzen Sie das Plugin ein
/plugins
, aktivieren Sie es auf jeder Seite einzeln - Setzen Sie das Plugin ein
/plugins
und aktivieren Sie es mit "Netzwerk aktivieren" auf allen Websites - Setzen Sie das Plugin ein
/mu-plugins
, das auf jeder Seite automatisch aktiviert wird
Jetzt habe ich mit den Einstellungen gespielt und möchte Akismet auf allen Websites aktivieren, außer auf den ein oder anderen. Ich dachte, ich könnte das Plugin über ein Netzwerk aktivieren und dann auf einer einzelnen Site deaktivieren, aber ich kann dies nicht. Wenn ich die Netzwerkaktivierung verwende, gibt es nur die Option "Netzwerk deaktivieren", mit der das Plugin für alle deaktiviert wird Alle Standorte.
Gibt es eine Möglichkeit, die praktische Funktionalität des Netzwerks zu aktivieren und dennoch die Möglichkeit zu haben, Plugins Site für Site zu deaktivieren?
mu-plugins
und arbeiten wie ein Traum!if ( isset($value['akismet/akismet.php']) ) { unset($value['akismet/akismet.php']); }
Dieses Plugin: http://firestats.cc/wiki/WPMUPluginCommander
Umgeht die Netzwerkaktivierung und erledigt ihre eigenen Aufgaben. und lässt Sie das Plugin Site für Site deaktivieren.
Update: Wie es aussieht, bricht dieses Plugin das Sitewide-Tag-Plugin. Seien Sie also vorsichtig, bevor Sie es in einem Produktionsnetzwerk versuchen.
quelle
Hier ist, was für mich funktioniert hat, um ein Plugin für ein bestimmtes Thema auf einer Multisite / Multitheme-Installation zu deaktivieren. Ich habe diese paar Zeilen oben in der Datei functions.php in meinem Theme eingefügt:
quelle
init
gerne auf @GDR machen.Die aktiven Plugins werden in den Optionen wp_ [blog_id] _ im Feld 'active_plugins' und 'active_sitewide_plugins' in wp_ [blog_id] _sitemeta gespeichert. Dies sind serialisierte Felder. Bearbeiten Sie sie daher nur, wenn Sie wissen, was Sie tun.
Schauen Sie sich auch wp-admin \ plugin.php an. Es sollte möglich sein, ein Plugin zu schreiben, das mit den dort deklarierten Funktionen funktioniert, zB is_plugin_active () und activate_plugin ().
Ich gehe jedoch davon aus, dass Sie PHP beherrschen, was möglicherweise nicht der Fall ist.
quelle
Die Antworten von sorich87 und user33465 haben bei mir mit Wordpress 4.3 nicht funktioniert. Fügte dies zu den functions.php des Themas hinzu:
quelle
Nicht out of the box in WP 3, aber ich denke, es wäre möglich, die Option mithilfe der option_ * -Filter zu überschreiben.
Außerdem wäre es nett, wenn Sie den Vorschlag als Funktionsanforderung in core.trac.wordpress.org hinzufügen würden.
quelle
Der bessere Weg, alle Plugins in Multisite Network zu handhaben, ist "Plugin Commander", den Sie hier finden: http://wordpress.org/extend/plugins/plugin-commander/
quelle
Ich habe es geschafft, das Plugin zu deaktivieren, aber es war immer noch auf der Hauptseite. Die einzige Lösung, die ich gefunden habe, um es vollständig von der Hauptseite zu entfernen, war, die main.php des Plugins der Webseite zu überprüfen und es danach zu deaktivieren:
quelle