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

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

ただいまの
回答率

87.49%

contact form 7 で、自動で入力される仕組みを作るには??

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 2,640

score 32

相談者を派遣するWPサイトの予約フォームを、contact form 7 で作っています。
スタッフ一覧→スタッフ詳細→WEB予約
という流れで予約ページに来た場合のフォームを用意していて、そこの「スタッフ名」という欄にスタッフ名を自動入力させたいです。(流入元のスタッフ詳細ページのスタッフ名を自動で入れておきたい)

理想としてはURLの後ろに値(スタッフ名)をつけ、これを使ってWEB予約ページのフォーム(inputタグ)に自動入力させたい。
そしてWEB予約ページのURLの後ろにスタッフ名を付与したところまではできました。

しかしそれを使って、自動入力させるやり方が分かりません。。

■スタッフ詳細ページ
このページにWEB予約ページへのリンクがある。
リンクの後ろには、"<?php echo get_post_type_archive_link( 'reservation' ); ?>?building_name=<?php echo $building_name; ?>"のように$building_name、つまりスタッフ名を付与してる。

<form action="<?php echo get_post_type_archive_link( 'reservation' ); ?>?building_name=<?php echo $building_name; ?>" method="post">
    <input type="hidden" name="building_name" value="<?php echo $building_name; ?>">
    <input type="submit" value="<?php the_title(); ?>でWEB予約する" class="reservation_btn web" />
</form>

■WEB予約ページ
ここにdo_shortcodeでコンタクトフォーム7を呼び出している。
このページのURLの後ろにスタッフ名が付与されている。(ただしスペースが%と変換されていて、この%は自動入力の際には取り除きたい)

<div id="wrap" class="sp-deviation-bottom">

       <!-- 予約 -->

<section class="xxx">
        <div class="row container">
            <div class="col-lg-12">
                <div class="title">
                    <h5 class="title-h1">ご予約</h5>
                </div>
                <div class="reservation">
                  <?php echo do_shortcode( '[contact-form-7 id="317" title="通常バージョン"]' ); ?>
                  <!-- ローカル確認用のコンタクトフォーム -->
                  <!--
                  <?php echo do_shortcode( '[contact-form-7 id="247" title="コンタクトフォーム 1"]' ); ?>
                -->
                </div>
            </div>
        </div>
</section>
</div>

<script>
document.addEventListener( 'wpcf7mailsent', function( event ) {
  location = 'https://the-aromante.com/reservation_thanks/';
}, false );

</script>

■conctactform7の設定画面
このスタッフフォームに、URLに付与されているスタッフ名を自動入力させたい。

<label> お名前 (必須)
    [text* your-name placeholder "山田 太郎"] </label>

<label> メールアドレス (必須)
    [email* your-email placeholder "ex@gmail.com"] </label>

<label> 電話番号 (必須)
    [text* your-subject placeholder "000000000"] </label>

ご予約日時
[radio your-radio use_label_element]

<label> スタッフ
[text building_name placeholder "スタッフ名"]</label>

[submit "予約する"]

以上がコードですが、ここから、どう書けばinputに自動入力させられるのでしょうか、、、
よろしくお願いします。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+2

【ContactForm7 GETで値を渡す方法】
https://webnetamemo.com/coding/wordpress/201708095439

default:getでGETデータを表示することができます。

[text* your-name default:get]

【どや!?Contact form 7 のフォームに自動的に記事タイトルを入れる方法 | デザインどや!?】
http://www.doya-doya.com/diary/2010/10/04/2806

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 87.49%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る