it-swarm.com.de

Wie kann man feststellen, ob ein Plugin mit mehreren Sites kompatibel ist?

Als WordPress-Admin-Neuling habe ich gerade mein erstes nicht-automatisches WordPress-Upgrade durchgeführt.

Ich habe fünf verschiedene WordPress-Installationen von 4.1.3 auf 4.2 aktualisiert.

Sie beziehen sich alle auf verschiedene Websites, die auf demselben Webhost wie eine Hauptdomäne und vier Addon-Domänen gehostet werden.

Auf jeder der Websites verwende ich die folgenden Plug-Ins:

  • Akismet;
  • Google Analytics von Yoast;
  • Google AdSense;
  • Google XML Sitemaps und
  • Jetpack von WordPress.com.

Um die Verwaltung weiter zu optimieren, überlege ich, alle fünf Installationen in einer einzigen Installation mit mehreren Standorten zu konsolidieren.

Bisher fiel es mir ziemlich schwer, endgültige Antworten auf die Frage zu finden, ob jedes dieser Plugins mit einer Multisite-Installation auf den Websites des Plugins kompatibel ist.

Ist die Seite des Plugins der richtige Ort, um danach zu suchen?

Gibt es einen zentralen Ort, an dem diese Informationen gefunden werden können?

9
Alfred Myers

Es gibt zwei Arten der Multisite-Kompatibilität:

  1. Passive Kompatibilität: nichts unternehmen, das für mehrere Standorte spezifisch ist, funktioniert nur, ohne etwas zu beschädigen.
  2. Aktive Kompatibilität: Ändern oder Erweitern des spezifischen Verhaltens für mehrere Standorte.

Ich vermute, Sie sind wegen 1. Siehe meine Folien vom WordCamp Prague 2015 für den zweiten Teil.

Plugins, die nichts über Multisite aussagen, sollten nicht als Netzwerk-Plugins aktiviert werden. WooCommerce erstellt beispielsweise während der Installation einige benutzerdefinierte Tabellen. Wenn Sie es netzwerkweit aktivieren, erhalten die Unterwebsites diese Tabellen nicht und der Himmel fällt auf Ihren Kopf.

Leider überprüfen die meisten Plugins nicht ihren Aktivierungstyp, sodass Sie die falsche Aktivierung vornehmen können.

im Zusammenhang stehen UX-Probleme wie Admin-Verweise oder spezielle "Über" -Seiten, auf die Sie in nicht kompatiblen Plugins auf jeder Unterwebsite klicken müssen. Yoasts WP SEO ist ein Beispiel . Das wird wohl bald in diesem Plugin behoben. :)

Andere Probleme hängen davon ab, was Sie mit dieser Multisite tun. Wenn Sie eine mehrsprachige Website erstellen, bei der jede Website in einer Sprache geschrieben ist und die Websites miteinander verbunden sind, möchten Sie die Beiträge beim Schreiben von Inhalten synchronisieren. Das heißt, Sie rufen switch_to_blog() auf dem Hook save_post auf und speichern auch die verbundenen Beiträge. save_post wird jetzt während einer Anfrage mehrmals aufgerufen. Vielen Plugins ist eine solche Situation nicht bekannt. Sie überschreiben lediglich die Post-Meta-Informationen für die verbundenen Posts und denken, dass sie sich noch im ersten Post befinden.

Achten Sie auf Plugins, die sich mit Post-Meta befassen, und es fehlt eine Überprüfung wie diese:

if ( is_multisite() && ms_is_switched() )
    return FALSE;

Diese Plugins sind nicht kompatibel.

Ähnliches gilt, auch wenn es schwieriger zu spezifizieren ist, wenn Plugins Benutzer-Metafelder berühren oder Regeln umschreiben.

Einige Plugins versuchen, Inhalte in Dateien zu schreiben, ohne die Site-ID in den Dateinamen aufzunehmen. Sie sind sehr wahrscheinlich auch kaputt.

Wie Tom sagte: Erstellen Sie eine Testinstallation und führen Sie jeden erdenklichen Anwendungsfall aus. Sie können der Plugin-Seite nicht vertrauen, und normalerweise sind ohnehin nicht genügend Informationen vorhanden.

6
fuxia

Wenn ein Plugin nicht angibt, dass es kompatibel ist, ist die einzige zuverlässige Möglichkeit, dies herauszufinden, eine lokale Installation mit mehreren Standorten zu erstellen und diese zu testen.

Manchmal gibt es Anzeichen, nach denen Sie suchen können, aber diese sind immer ein Symptom für schlechten Code, z. Festcodieren von Datenbanktabellennamen anstelle des Präfix von $wpdb. In diesem Fall würde ich empfehlen, das Plug-in zu deaktivieren, auch wenn Sie keine Multisite verwenden

2
Tom J Nowell