前提・実現したいこと
Wordpressで製作したウェブサイトの投稿で、イベントの紹介と予約を促す記事を作成する際に、
Advanced Custom Fieldsのリピーターフィールドに
例えば、
・1月25日のAイベント
・1月26日のBイベント
のようにイベント名の選択肢を入力した分だけフォームへ反映する形を目指しています。
また、イベントのジャンルが異なる場合もある(セミナー、イベント、◯◯会などある)ため、
投稿ごとに選択肢を変えることができるよう、イベント名の入力フォームはAdvanced Custom Fields PRO版のリピーターフィールドを利用しています。
予約フォームにはMW WP Formを利用しています。
該当のソースコード
php
1・該当のmw-wp-form 2[mwform_select name="entry_date" id="entry_date" show_error="false" class="xxx" children="" value=""] 3 4・functions.php 5add_filter( 'mwform_choices_mw-wp-form-324', 'SELECT_LOOP', 10, 2 ); 6function SELECT_LOOP( $children, $atts ) { 7 if ( $atts['name'] == 'entry_date' ) { 8 if( have_rows('yoyakuevent') ) : 9 while( have_rows('yoyakuevent') ) : the_row(); 10 $select = get_sub_field('eventname'); 11 $children[$select] = $select; 12 endwhile; 13 endif; 14 } 15 return $children; 16}
試したこと
リピーターフィルド名:yoyakuevent、イベント名をeventnameとして
MW WP Form側で「URL引数を有効にする」を有効にして、{yoyakuevent_0_eventname}とすれば表示されましたが、
選択肢の数は固定ではないので断念。
提示した内容のようにfunctions.phpへ記述してみたのですが、セレクトボックスの中身はブランクで、have_rows('yoyakuevent')がfalseでした。
▼参考にした記事など
https://teratail.com/questions/75713
https://plugins.2inc.org/mw-wp-form/manual/url-query/
https://webmemolog.com/web/wordpress/20171022_695
回答2件
あなたの回答
tips
プレビュー