情報を追記している場合はありますが、古い情報を訂正はしていませんので、公開年月日を参照してください。プラグイン・タグ、いずれもワードプレス・PHPのバージョン等によって動作しない場合もあります。
カスタム投稿タイプの一覧から選択して申し込むというメールフォーム、今までutf-8n で使えるCGIを利用していたが、reCAPTCHAをつけるためにContact Form 7 に変更することになり、投稿の読み込み部分をどうするか。
PHP + jQuery
投稿の読み込みはPHPファイルでフォームの上に表示し、jQuery でフォームのフィールドに入れる。
投稿ごとに選択要素がある場合は、jQueryもループにして、それぞれに対応するフィールドをフォーム内に作る。
Confirm Plus Contact Form 7 で確認画面をつけたい場合は向かない。
$(function(){ ここからループ $('[name=セレクトフィールド名-カウントなどで識別]').change(function() { //選択されているvalue値を取り出す var xxxxx = $('[name=セレクトフィールド名-カウントなどで識別]').val(); //テキストボックスに取り出したvalue値を入れる $("#テキストフィールド名-カウントなどで識別").val(xxxxx); }); ここまでループ });
wpcf7_add_form_tag
テーマ関数でフォームの中にフィールドを出力する。
Confirm Plus Contact Form 7 を使用したい場合は、項目として指定するtitle-contactform7 やフィールドをまとめるtext-set-contactform7 はフォームのエディターの方に入れる。
function add_post_list() { ob_start(); ~ ここに投稿を読み込んで選択のための部品 ~ return ob_get_clean(); } wpcf7_add_form_tag('shortcode', 'add_post_list');