這禮拜做到一個需求是要讓 ACF 的設定頁面可以在前台顯示,印象中看過獨立的外掛在做,但查了之後發現 ACF 內建的函式就可以處理,只要先在 Header 引入 ACF 必須的前端檔案後,就能用 acf_form()
來顯示表單。
首先先用勾點 wp_head
將載入 ACF 資源的函式 acf_form_head()
掛進去,它的順序要比 get_header()
前面,其次用 acf_form()
帶入所需的設定欄位,需要傳入的參數有:
post_id
⇒ 自訂欄位的所在頁面 ID,由於我的欄位做成全站設定,因此這邊帶入的是options
field_groups
⇒自訂欄位的post_id
,也可以傳欄位的 key 值,該參數接受陣列,因此可以傳多個自訂欄位進去submit_value
⇒ 送出按鈕的文字post_title
⇒ 前台表單的標題
具體程式碼如下:
<?php
add_action(
'wp_head',
function() {
acf_form_head();
},
5,
);
acf_form(
array(
'post_id' => 'options',
'post_title' => false,
'submit_value' => '建立訂單',
'field_groups' => array( 'group_63d7785633ab4' ),
)
);