問題描述
有些情況下,插件或主題需要在稍後包含它的地方創建一個 php 文件。例如,一個驗證碼插件,或某種模板系統,如 twig /smarty(在我的情況下,它是一個小工具集合的簡單模板引擎) 。
這個文件應該在哪裏創建?
我唯一可以想到的地方是 wp-content/uploads/,但是聽起來不正確:)
那麼有一個安全的地方可以創建文件,而不用擔心在 WordPress /plugin /主題更新中被刪除?
一個解決方案可能是在 themes /plugins 目錄中創建一個子主題/目錄
最佳解決方案
合適的位置 IMHO 將是您在 wp-content 目錄中創建的自定義文件夾在創建文件之前閲讀此文件:http://ottopress.com/2011/tutorial-using-the-wp_filesystem/
次佳解決方案
您不能依賴插件或主題目錄中的寫訪問權限,因此 wp_upload_dir()是唯一可能的目錄。但是我真的懷疑有必要將信息存儲在新文件中。如果模板是由用户創建的,請將其存儲在選項中,使用常規插件功能解析內容 (例如,用 strtr()替換佔位符) 。
第三種解決方案
在 Wordpress 插件上工作時,我偶然發現了你的問題。我也首先考慮創建臨時文件來緩存我的插件創建的一些數據。但是,如果您嘗試使用一組服務器進行擴展,這種方法對我來説似乎很奇怪,因為您不希望在一台服務器上放置臨時數據。
所以我再次搜索,似乎有效的解決方案是這樣的問題是 WordPress Transients API 允許您在數據庫中存儲有效期限的數據。當然,您的問題仍然可能需要本地緩存的文件,例如如果它們對於數據庫來説太大了,但是至少我建議看一下這個選項:-)
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。