Last Updated on 2021-11-26 by Clay
今天我想紀錄的是一個比較奇怪的需求,但我想應該還是會有人用得到它。畢竟,我在 Stackoverflow 上看到與我一模一樣的問題(這裡)。
這個需求就是,我寫了一份外部的 PHP 檔案,主要是與 HTML 交互呈現一個介面;在這過程中,我需要調用 WordPress 的核心方法 get_option() 以及 update_option() 來完成我頁面的功能。
所謂的外部 PHP 檔案是指它並不在我的外掛或主題目錄底下。若是在主題資料夾或開發外掛時,預設便是會使用所有的 WordPress 函式庫。
那麼我們該如何在外部文件調用 WordPress 核心函式呢?
解決方法
以 get_option()
以及 update_option()
為例,我們需要將 wp-load.php 這份文件透過 require_once()
函式讀取進來,這樣系統才知道那兩個函式該去哪裡讀取、又該怎麼運作。
wp-load.php 這份文件通常在 WordPress 跟目錄底下,對於一般的外掛開發資料夾而言,應該使用以下指令來讀進該檔案:
require_once('../../../wp-load.php');
如果這外部 PHP 文件跟 wp-load.php 在同個資料夾底下,則使用:
require_once('../../../wp-load.php');
簡單來說,你要輸入的就是 wp-load.php 的路徑。
這樣一來,你就可以任意地在任何 PHP 文件中呼叫 WordPress 的核心功能了。
References
Read More
- [WordPress] 使用 PHP 程式修改指定頁面內容
- [已解決] Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘change page_content’ not found or invalid function name in
- [已解決] Parse error: syntax error, unexpected ”lists_page” (T_CONSTANT_ENCAPSED_STRING), expecting ‘)’ in /var/www/html/wp-content/plugins/reserve-course/reserve-course.php on line 54