🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

Q&A

解決済

2回答

3726閲覧

MW WP Formの自作のショートコードの値を取得したい

behoimi80

総合スコア62

WordPress

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

プラグイン

プラグイン(plug-in)は、ソフトウェアアプリケーションの機能拡張の為に開発された、一組のソフトウェアコンポーネントのことを指します。

0グッド

0クリップ

投稿2019/11/08 22:00

編集2019/11/09 08:28

wordpressの「MW WP Form」プラグインにて、お問い合わせページを作成しています。

フォームの中にセレクトボックスを設けるのですが、データが変動する為、自作のショートコードを追加しました。
確認画面ではテキストで表示する為、postで取得したのですが取得できません。(初期値の値のまま)
入力画面から確認画面へはformのpostで送られてると思っているのですが違うのでしょうか?
ちなみにメールも初期値のまま送られます。

確認画面へボタンを押したとき、または送信するボタンを押したときに、正常に値を取得して表示・送信する方法をご存知でしたらご教授ください。

よろしくお願い致します。

MW WP Formの記述

[su_table responsive="yes"] <table> <tbody> <tr> <th>お名前</th> <td>[mwform_text name="name" id="name" size="30"]</td> </tr> <tr> <th>オプション</th> <td>[form_option]</td> </tr> </tbody> </table> [/su_table] [mwform_submitButton name="send" confirm_value="確認画面へ" submit_value="送信する"]

functions.phpの記述

function Form_Option() { $html = ""; // 宣言 global $wpdb; $post_optoin = $_POST['option']); <---ここが取得できない。 if ( isset ( $post_optoin ) ) { $html = $post_cast; $html .= '<input type="hidden" name="option" value="'.$post_option.'" />'; }else{ // option読み出し $query = "SELECT option"; ~省略~ $rows = $wpdb->get_results($query); if( count( $rows ) > 0){ $html = '<select class="" name="option" id="option">'; foreach ($rows as $row ){ $option= $row->option; $html .= '<option value="'.$option.'">'.$option.'</option>'; } $html .= '</select>'; } } return $html; } add_shortcode ( 'form_option', 'Form_Option');

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

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

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

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

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

kyoya0819

2019/11/09 01:25

fromではなくformでは?
behoimi80

2019/11/09 08:28

すみません。fromからformに修正しました。
guest

回答2

0

シンタックスエラーやしタイポやしXSSできてまうし

php

1$post_optoin = $_POST['option']); 23$post_option = filter_input(INPUT_POST,'option', FILTER_SANITIZE_STRING); 4

投稿2019/11/09 04:40

KazuhiroHatano

総合スコア7819

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

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

behoimi80

2019/11/09 08:33

「filter_input」というXSS防止を初めて知りました。勉強になります。ありがとうございました。 ところで値が取得できないのはどこが間違っているのでしょうか?もしご存知でしたらお手数をおかけしますが教えて頂けばと思います。よろしくお願い致します。
KazuhiroHatano

2019/11/09 09:06

シンタックスエラーとタイポを直してもダメだったってことでしょうか もしvar_dump($_REQUEST)してもoptionがいないなら MWフォームの仕様上規定の入力欄の値しか送信していないとかかもしれません となればMWフォームを機能拡張するとかしないとダメでしょうね
guest

0

自己解決

色々検索すると同じような質問があり、解決しました!
MW WP Formで選択項目としてカスタム投稿を取得したい

ありがとうございました。

投稿2019/11/09 16:15

behoimi80

総合スコア62

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問