フォームを動的にするために、php から CF7 フィールドを生成する必要があります。
<div>[text* your-name]</div>
そのため、ワードプレスで直接書くなどの代わりに、代わりにそれを行うテンプレートファイルがあります。問題は、そうすると検証が機能しないことです。フィールドは正しく表示されますが、送信時にフィールドがチェックされません。ただし、送信する場合、データは正しく保存されます。
WP ADMIN フォームタブ:
[my_cf_template]
template.php
<?php echo do_shortcode(apply_filters("the_content", '[contact-form-7 id="115" title="Ruumide rent - booking"]')); ?>
関数.php
function cf_template_func(){
$email = wpcf7_do_shortcode('[email* your-email]');
$submit = wpcf7_do_shortcode( '[submit "Send"]' );
$str = <<<HTML
<div class="detailed-info">
<label> Your E-mail*
$email </label>
</div>
$submit
HTML;
return $str;
}
add_action( 'wpcf7_init', 'custom_add_shortcode');
function custom_add_shortcode() {
wpcf7_add_shortcode( 'my_cf_template', 'cf_template_func');
}