問題描述

我在想,如果我將一個外掛從 WPMU 移植到 WP,反之亦然,我可能會遇到什麼樣的問題。

說我從頭開發了一個外掛,並希望這個外掛與兩者相容,我應該從 WPMU 或 WP 開始嗎?

最佳解決方案

您需要在兩個設定中進行測試,因為它們在許多情況下的行為不同。一些最顯著的區別是:

  1. 如果註冊啟用回撥,則需要檢查啟用是否為 network-wide 。如果是,run the activation logic for all the blogs 而不是當前的。

  2. 如果外掛是 network-activated,則新增新部落格時,常規啟用回撥將不會觸發,因此您需要建立一個掛鉤到 wpmu_new_blog 操作的額外回撥。它必須切換到新部落格,執行啟用邏輯,然後恢復當前部落格。新部落格的 $id 作為第一個引數傳遞給處理程序。

  3. 如果您要建立自定義帖子型別,並希望顯示 「設定精選影像」 元框,則需要確保 「媒體上傳按鈕」 設定已啟用 「影像」 核取方塊。您可以使用 get_site_option( 'mu_media_buttons' )進行檢查,並使用 update_site_option()進行設定。

  4. 上傳目錄的路徑是不同的,但只要您始終使用 wp_upload_dir()而不是常量,您將會很好。

  5. 每個部落格都有大部分資料庫表的自己的副本,它們以部落格 ID 為字首。您通常不需要做任何特殊的操作,只要您使用 API​​與資料庫進行互動即可。

  6. 使用者和 usermeta 表是例外; 它們在所有部落格中共享。

  7. 最近有幾個 WP-Cron 錯誤 [12] 僅影響 MultiSite 安裝的工作。

如果您需要使用 API​​函式臨時訪問另一個部落格的資料,然後 restore_current_blog()切換回來,您可以使用 switch_to_blog()

您可以透過瀏覽 my plugin skeleton 的源來檢視啟用功能的完整示例。

次佳解決方案

沒有區別。

來自 http://mu.wordpress.org/

WordPress MU is no longer a separate project; it is continuing development as part of the main WordPress branch under the name multisite or MS.

在開發使用 multi-site 安裝時,由於有時檔案處理和路徑有點棘手。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。