it-swarm.com.de

Plugin-Entwicklung: WPMU oder WP?

Ich überlegte, auf welche Probleme ich stoßen könnte, wenn ich ein Plugin von WPMU nach WP portiere oder umgekehrt.

Angenommen, ich habe ein Plugin von Grund auf neu entwickelt und wollte, dass dieses Plugin mit beiden kompatibel ist. Soll ich mit WPMU oder WP beginnen?

7
Damien Roche

Sie müssen beide Setups testen, da sie sich in vielen Situationen unterschiedlich verhalten. Einige der bemerkenswertesten Unterschiede sind:

  1. Wenn Sie einen Aktivierungsrückruf registrieren, müssen Sie überprüfen, ob die Aktivierung netzwerkweit war. Wenn dies der Fall ist, führen Sie die Aktivierungslogik für alle Blogs statt nur für das aktuelle Blog aus.
  2. Wenn das Plugin im Netzwerk aktiviert ist, wird der reguläre Aktivierungs-Callback nicht ausgelöst, wenn neue Blogs hinzugefügt werden. Sie müssen daher einen zusätzlichen Callback erstellen, der sich in die Aktion wpmu_new_blog einfügt. Es muss zum neuen Blog wechseln, die Aktivierungslogik ausführen und dann das aktuelle Blog wiederherstellen. Der $id des neuen Blogs wird als erster Parameter an den Handler übergeben.
  3. Wenn Sie einen benutzerdefinierten Beitragstyp erstellen und das Meta-Feld "Ausgewähltes Bild festlegen" angezeigt werden soll, müssen Sie sicherstellen, dass bei der Einstellung "Schaltflächen zum Hochladen von Medien" das Kontrollkästchen "Bilder" aktiviert ist. Sie können get_site_option( 'mu_media_buttons' ) verwenden, um es zu überprüfen und update_site_option(), um es festzulegen.
  4. Der Pfad zum Upload-Verzeichnis ist unterschiedlich, aber es reicht, wenn Sie statt der Konstanten immer wp_upload_dir () verwenden.
  5. Jedes Blog verfügt über eine eigene Kopie der meisten Datenbanktabellen, der die Blog-ID vorangestellt wird. Normalerweise müssen Sie nichts Besonderes tun, solange Sie die API für die Interaktion mit der Datenbank verwenden. Dies sollten Sie tun, wann immer dies möglich ist.
  6. Die Benutzer und Usermeta Tabellen sind die Ausnahme; Sie werden in allen Blogs geteilt.
  7. In letzter Zeit gab es einige WP-Cron-Fehler [ 1 , 2 ], die nur Jobs auf MultiSite-Installationen betrafen.

Sie können switch_to_blog () verwenden, wenn Sie mit API-Funktionen vorübergehend auf die Daten eines anderen Blogs zugreifen müssen, und dann restore_current_blog ( ) , um zurückzuschalten.

Sie können ein vollständiges Beispiel der Aktivierungsfunktionen anzeigen, indem Sie die Quelle meines Plugin-Skeletts durchsuchen.

8
Ian Dunn

Es gibt keinen Unterschied.

Von http://mu.wordpress.org/

WordPress MU ist kein separates Projekt mehr. Es wird als Teil des Hauptzweigs von WordPress unter dem Namen Multisite oder MS weiterentwickelt.

Verwenden Sie während der Entwicklung eine Installation mit mehreren Standorten, da die Dateiverwaltung und -pfade manchmal etwas kompliziert sind.

4
fuxia