問題描述
要獲得一個插件的路徑,您可以使用 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。