質問編集履歴

4 画像を修正

siroyama

siroyama score 15

2019/04/19 21:02  投稿

MWWPフォームでACFのリピーターフィールドを利用した動的な選択肢を表示させたい
### 前提・実現したいこと
Wordpressで製作したウェブサイトの投稿で、イベントの紹介と予約フォームがあるページを作成しており、
予約フォームのセレクトボックスに Advanced Custom Fieldsのリピーターフィールドのサブフィールドに入力したテキストが反映されるようにしたい。
フォームは、MWFormにて作成しております。
構造としては、
イベントページはsingle-event.php
イベント情報の下にフォームがあるページです。
例としては、
・2018年10月28日 午前中
・2018年10月28日 午後から
などをサブフィールドに入力し投稿すると、
ページ下部の予約フォームのセレクトボックスに入力した選択肢が出力されるようにする。
### 該当のソースコード
```function.php
add_filter( 'mwform_choices_mw-wp-form-44', 'SELECT_LOOP', 10, 2 );
function SELECT_LOOP( $children, $atts ) {
   if ( $atts['name'] == 'event-date' ) {
       if( have_rows('event_form','option') ) :
           while( have_rows('event_form','option') ) : the_row();
               $select = get_sub_field('event_form_input');
               $children[$select] = $select;
           endwhile;
       endif;
   }
   return $children;
}
```
 
```MWform
<p class="topic">ご来店希望日時<span class="hi-ssu">必須</span></p>
[mwform_select name="event-date" id="event-date" children="選択してください"]</li>
```
```カスタムフィールドの設定
カスタムフィールド名 event_form
サブフィールド名 event_form_input
```  
![イメージ説明](be711dbe5de418b9545331cfa1597ffb.png)
```  
### 参考にしたこと
http://www.wp-tech.net/wordpress_tips/2961/
### 試したこと
どうやらhave_rowsが取得できていないことが要因のようですが、
どのように記述すれば取得できるのかわからないままです。
  • PHP

    29312 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    11326 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

3 試したこと追加

siroyama

siroyama score 15

2019/04/19 17:03  投稿

MWWPフォームでACFのリピーターフィールドを利用した動的な選択肢を表示させたい
MWWPフォームでACFのリピーターフィールドを利用した動的な選択肢を表示させたい
### 前提・実現したいこと
Wordpressで製作したウェブサイトの投稿で、イベントの紹介と予約フォームがあるページを作成しており、
予約フォームのセレクトボックスに Advanced Custom Fieldsのリピーターフィールドのサブフィールドに入力したテキストが反映されるようにしたい。
フォームは、MWFormにて作成しております。
構造としては、
イベントページはsingle-event.php
イベント情報の下にフォームがあるページです。
例としては、
・2018年10月28日 午前中
・2018年10月28日 午後から
などをサブフィールドに入力し投稿すると、
ページ下部の予約フォームのセレクトボックスに入力した選択肢が出力されるようにする。
### 該当のソースコード
```function.php
add_filter( 'mwform_choices_mw-wp-form-44', 'SELECT_LOOP', 10, 2 );
function SELECT_LOOP( $children, $atts ) {
   if ( $atts['name'] == 'event-date' ) {
       if( have_rows('event_form','option') ) :
           while( have_rows('event_form','option') ) : the_row();
               $select = get_sub_field('event_form_input');
               $children[$select] = $select;
           endwhile;
       endif;
   }
   return $children;
}
```
```MWform
<p class="topic">ご来店希望日時<span class="hi-ssu">必須</span></p>
[mwform_select name="event-date" id="event-date" children="選択してください"]</li>
```
```カスタムフィールドの設定
カスタムフィールド名 event_form
サブフィールド名 event_form_input
![イメージ説明](be711dbe5de418b9545331cfa1597ffb.png)
```
### 参考にしたこと
http://www.wp-tech.net/wordpress_tips/2961/
http://www.wp-tech.net/wordpress_tips/2961/
### 試したこと
どうやらhave_rowsが取得できていないことが要因のようですが、
どのように記述すれば取得できるのかわからないままです。
  • PHP

    29312 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    11326 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

2 タイトル変更

siroyama

siroyama score 15

2019/04/18 18:39  投稿

MWWPFormでACFのリピーターフィールドを利用した動的な選択肢を表示させたい
MWWPフォームでACFのリピーターフィールドを利用した動的な選択肢を表示させたい。
### 前提・実現したいこと
Wordpressで製作したウェブサイトの投稿で、イベントの紹介と予約フォームがあるページを作成しており、
予約フォームのセレクトボックスに Advanced Custom Fieldsのリピーターフィールドのサブフィールドに入力したテキストが反映されるようにしたい。
フォームは、MWFormにて作成しております。
構造としては、
イベントページはsingle-event.php
イベント情報の下にフォームがあるページです。
例としては、
・2018年10月28日 午前中
・2018年10月28日 午後から
などをサブフィールドに入力し投稿すると、
ページ下部の予約フォームのセレクトボックスに入力した選択肢が出力されるようにする。
### 該当のソースコード
```function.php
add_filter( 'mwform_choices_mw-wp-form-44', 'SELECT_LOOP', 10, 2 );
function SELECT_LOOP( $children, $atts ) {
if ( $atts['name'] == 'event-date' ) {
if( have_rows('event_form','option') ) :
while( have_rows('event_form','option') ) : the_row();
$select = get_sub_field('event_form_input');
$children[$select] = $select;
endwhile;
endif;
}
return $children;
}
```
```MWform
<p class="topic">ご来店希望日時<span class="hi-ssu">必須</span></p>
[mwform_select name="event-date" id="event-date" children="選択してください"]</li>
```
```カスタムフィールドの設定
カスタムフィールド名 event_form
サブフィールド名 event_form_input
![イメージ説明](be711dbe5de418b9545331cfa1597ffb.png)
```
### 参考にしたこと
http://www.wp-tech.net/wordpress_tips/2961/
  • PHP

    29312 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    11326 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

1 画像を追加

siroyama

siroyama score 15

2019/04/18 16:58  投稿

MWWPFormでACFのリピーターフィールドを利用した動的な選択肢を表示させたい
### 前提・実現したいこと
Wordpressで製作したウェブサイトの投稿で、イベントの紹介と予約フォームがあるページを作成しており、
予約フォームのセレクトボックスに Advanced Custom Fieldsのリピーターフィールドのサブフィールドに入力したテキストが反映されるようにしたい。
フォームは、MWFormにて作成しております。
構造としては、
イベントページはsingle-event.php
イベント情報の下にフォームがあるページです。
例としては、
・2018年10月28日 午前中
・2018年10月28日 午後から
などをサブフィールドに入力し投稿すると、
ページ下部の予約フォームのセレクトボックスに入力した選択肢が出力されるようにする。
### 該当のソースコード
```function.php
add_filter( 'mwform_choices_mw-wp-form-44', 'SELECT_LOOP', 10, 2 );
function SELECT_LOOP( $children, $atts ) {
   if ( $atts['name'] == 'event-date' ) {
       if( have_rows('event_form','option') ) :
           while( have_rows('event_form','option') ) : the_row();
               $select = get_sub_field('event_form_input');
               $children[$select] = $select;
           endwhile;
       endif;
   }
   return $children;
}
```
```MWform
<p class="topic">ご来店希望日時<span class="hi-ssu">必須</span></p>
[mwform_select name="event-date" id="event-date" children="選択してください"]</li>
```
```カスタムフィールドの設定
カスタムフィールド名 event_form
サブフィールド名 event_form_input
![イメージ説明](be711dbe5de418b9545331cfa1597ffb.png)  
```
### 参考にしたこと
http://www.wp-tech.net/wordpress_tips/2961/
  • PHP

    29312 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • WordPress

    11326 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る