WordPress Contact form 7 カスタマイズ ページの値を渡して送信

2014-03-18
いっす!この記事は1年以上前に投稿されたもので、情報が古いかもしれません。ご注意ください!

特定のページに問い合わせフォームを設置して、フォームにそのページの値を渡して、送信する。
投稿タイトルを取得してみる。

【1】function.phpに追加。
↓↓↓↓↓↓↓↓
function my_form_tag_filter($tag){
if ( ! is_array( $tag ) )
return $tag;

//post IDをgetでフォームに渡す記述 URLにhttp://localhost/contact?postid=1とかつけて遷移
if(isset($_GET[‘postid’])){
$name = $tag[‘name’];
if($name == ‘postid’)
$tag[‘values’] = (array) $_GET[‘postid’];
}

//そのページにフォームがある場合は直接値を渡す。
$posttitle= get_the_title();
if(isset($posttitle)){
$name = $tag[‘name’];
if($name == ‘posttitle’)
$tag[‘values’] = (array) $posttitle;
}
return $tag;
}
add_filter(‘wpcf7_form_tag’, ‘my_form_tag_filter’, 11);

↑↑↑↑↑↑↑↑

$posttitle= get_the_title();

posttitle → 任意

get_the_title() → 投稿タイトル

 

【2】値を受け取るテキストフィールドを用意しておく。

Contact form 7 設定でフォーム項目に追加。

↓↓↓↓↓↓↓↓
<p>個体名<br /> [text* posttitle] </p>
↑↑↑↑↑↑↑↑

■special thanks to :

wordpressのカスタマイズ プラグイン「contact form 7」 で値の受け渡し+確認画面+完了画面を追加できるのか?