MW WP Form で、選択項目を動的に設定するためには、「フィルターフック」を使う必要があります。
function.phpにMWフォームのフックを使用して読み込ませるのだと思いますが、どういったフックの記述をすれば良いのかわからず困っております。
select の選択項目を動的に変更するには、参考にされた質問と同様に 「mwform_choices_mw-wp-form-xxx」フックを使います。
wordpressのプラグインアドバンスドカスタムフィールド(ACF)で作成したカスタムフィールドに
入力した数字を別ページのフォームのセレクトボックスに読み込ませたい。
フォームを作成した別ページをどの様に呼び出すのかが不明ですが、参考にされた質問と同様に カスタムフィールドのある投稿ページから <a href="http://example.com/<フォームページのスラッグ>/?id=0000">お問い合わせ</a>
(0000 の部分は、投稿ページの 投稿ID ) のリンクを利用してページ遷移すると仮定して...
フックで呼び出す関数の中で、 $_GET 等から URL 引数を取得して、呼び出し元ページを判別します。
フィールドのチェック等を追加したほうが良いかもしれませんが、以下のような感じで、カスタムフィールドの値を select の選択項目として追加できると思います。
functions.php に記載
function select_entry_time_192952( $children, $atts ) {
if ( $atts['name'] == 'model-time' && !empty( $_GET['id'] ) ) {
// 対象フォーム項目の名前が 'model-time' で、呼び出し元ページ ID がある場合に実行
$pid = wp_unslash( $_GET['id'] );
$fields = array( 'event_form1', 'event_form2', 'event_form3' );
foreach( $fields as $field ){
$children[$field] = get_field($field, $pid);
}
}
return $children;
}
add_filter( 'mwform_choices_mw-wp-form-0000', 'select_entry_time_192952', 10, 2 );
add_filter の mwform_choices_mw-wp-form-0000
の 0000
の部分は、作成した MW WP Form を呼び出すショートコードの key 部分の数字を記載する。
( 例:ショートコードが、[mwform_formkey key="9999"] の場合は、9999 なので、フック名は、mwform_choices_mw-wp-form-9999
になります。)