Skip to content

[WordPress] 取得 option group 中所有 option 的名稱

Last Updated on 2021-12-09 by Clay

在 WordPress 外掛(plugin)開發的過程中,由於 WordPress 使用了 Settings API 簡化了開發者對於資料庫的讀寫,所以我們可以很便利地使用 register_setting()get_option()update_option() 等等的函式來將一些外掛的屬性資料儲存在資料庫中。

但有時候測試的程式碼寫多了,我經常建立了好幾個不同欄位的測試資料,然而又因為程式功能的刪刪改改,有些已經用不到的資料欄位就這樣留在資料庫中,很有些浪費。

所幸,當初在建立資料欄位時,有依照不同外掛、不同功能來建立不同的 option group,今天就來記錄如何列出同一個 option group 底下所有的資料名稱。


取得指定 option group 內的所有 option 名稱

以下的 php 程式碼你可以放在任何想要印出的地方。由於並沒有一個專門的函式可以列出指定 option group 底下的所有 option,於是我們必須讀取全域變數 $new_whitelist_options,再指定我們當初設下的 group 名稱。

以下,我的 option group 名稱為 tnt-settings-group我都忘了什麼是 tnt...),那麼我可以使用以下程式碼來印出我曾經設定的 option 欄位名稱:

global $new_whitelist_options;
$option_names = $new_whitelist_options[ 'tnt-settings-group' ];
echo json_encode( $option_names );


Output:

["event_name","ca_reserve_list"]


看來我當初設定的 option 比想像中少,也是一件好事。


References


Read More

Leave a Reply