問題描述
要獲得一個外掛的路徑,您可以使用 plugin_dir_path(__FILE__) – 但這顯然必須從 plug-in 中呼叫。
如何從 plug-in A 中可靠地獲取外掛 B(pluginb/pluginb.php) 的路徑?
編輯:假設你知道你以後的 plug-in 的 s after(實際上你可以從 get_plugins()獲得它們) 。但我希望它能普遍工作。
最佳解決方案
我最好的猜測是:
if ( ! is_file( $dir = WPMU_PLUGIN_DIR . '/pluginb/pluginb.php' ) ) {
if ( ! is_file( $dir = WP_PLUGIN_DIR . '/pluginb/pluginb.php' ) )
$dir = null;
}
return $dir;
然而,這裡的危險仍然是外掛的”basename” 的假設 – 一個寫得很好的外掛仍然可以執行,即使它的目錄和/或主檔案已被重新命名 (無論什麼原因) 。
這可以追溯到我原來的評論 – 根據這是指哪個 third-party 外掛,許多作者定義了自己的方法/常量來儲存外掛路徑 – 檢查它們的存在和使用它們 (如果可用) 。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。