Last Updated on 2021-11-20 by Clay
在開發 WordPress 外掛的過程中,我們經常需要參照各種 WordPress 安裝的文件與資料夾,最常見的就是使用者當前安裝的佈景主題。
而 WordPress 提供了數個函式來讓開發者輕鬆地來取得這些檔案的路徑,這樣我們不必硬是把路徑寫死在程式碼中、甚至多寫些尋找路徑的程式碼。
這裡官方手冊提供了一個訊息:WordPress 是允許使用者自定義 wp-content 文件並改成任意名字的。所以千萬別假設外掛永遠都會在 w-content/plugins 中、上傳永遠都在 wp-content/uploads 中、主題永遠都在 wp-content/themes 中...... 依此類推。
所以像是之前所提過的 __FILE__
就是一個所謂的魔法常數(macgic-constant),它甚至會自動解析符號鏈結(symlinked),所以如果遇到目錄存在著符號鏈結的情況,寫死的路徑經常會失效,但這種魔法常數卻能夠正常運作。
常見用法
如果你的外掛包含 JS、CSS 及其他擴展文件,那麼你可能會需要 URL 來將其載入頁面,這時候可以使用 plugins_url()
函式。
plugins_url( 'myscript.js', __FILE__ );
函式將會回傳像是以下這樣的 URL: example.com/wp-content/plugins/myplugin/myscript.js
官方手冊也推薦搭配使用 wp_enqueue_script() 以及 wp_enqueue_style() 來讀取 JavaScript 和 CSS。
未完待續
我臨時起意調整文章順序,這篇本來是『[WordPress] 外掛開發筆記(3)』被我硬生生改成第 4 篇。
主要是因為我不想按照手冊那樣列出什麼樣的函式應該會回傳什麼樣的路徑,而是想要實際做個簡單的程式 Demo。
所以,這篇就這樣發了。最短半小時、最長到明天,我會再修改這篇文章的內容。