這禮拜做到一個需求是要讓 ACF 的設定頁面可以在前台顯示,印象中看過獨立的外掛在做,但查了之後發現 ACF 內建的函式就可以處理,只要先在 Header 引入 ACF 必須的前端檔案後,就能用 acf_form() 來顯示表單。
首先先用勾點 wp_head 將載入 ACF 資源的函式 acf_form_head() 掛進去,它的順序要比 get_header() 前面,其次用 acf_form() 帶入所需的設定欄位,需要傳入的參數有:
post_id⇒ 自訂欄位的所在頁面 ID,由於我的欄位做成全站設定,因此這邊帶入的是optionsfield_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' ),
)
);