質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

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

PHP

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

Q&A

1回答

2735閲覧

MWフォーム カスタムフィールドのテキストをセレクトボックスに読み込ませる

siroyama

総合スコア17

WordPress

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

PHP

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

0グッド

0クリップ

投稿2019/06/03 11:00

編集2022/01/12 10:55

前提・実現したいこと

wordpressのプラグインアドバンスドカスタムフィールド(ACF)で作成したカスタムフィールドに
入力した数字を別ページのフォームのセレクトボックスに読み込ませたい。

投稿
カスタムフィールド内
10:00
11:00
12:00

フォーム内のセレクトボックスに読込み

使用している

現在の設定

MW内

1<td>[mwform_select name="model-time" children="" post_raw="true"]</td>
フィールド名:event_form1 ←ここに時刻 10:00を入力 フィールド名:event_form2 ←ここに時刻 11:00を入力 フィールド名:event_form3 ←ここに時刻 12:00を入力

試したこと

https://teratail.com/questions/170813
このあたりを参考にしましたがわからず・・・

### できていないこと
function.phpにMWフォームのフックを使用して読み込ませるのだと思いますが、
どういったフックの記述をすれば良いのかわからず困っております。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

CHERRY

2019/06/04 00:15 編集

カスタムフィールドは、なにかプラグインを使われていますか?  フィールド名というのは、カスタムフィールドの「キーの名前」でしょうか? 各投稿のカスタムフィールド event_form1 に 10:00 、event_form2 に 11:00 、event_form3 に 12:00 の時刻が、入っているということでしょうか? どのあたりがわからないでしょうか? 回答する立場からは、わからない部分を具体的に記載していただいたほうが、具体的な回答がしやすいです。
guest

回答1

0

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-00000000 の部分は、作成した MW WP Form を呼び出すショートコードの key 部分の数字を記載する。
( 例:ショートコードが、[mwform_formkey key="9999"] の場合は、9999 なので、フック名は、mwform_choices_mw-wp-form-9999 になります。)

投稿2019/06/04 01:58

編集2019/06/04 01:59
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問