お問い合わせフォームはひとつ(共通)にしておき、どのページからそのお問い合わせフォームが呼び出されたのを判別したいときがあります。
もちろん、フォームに【お問い合わせ分類】としてリストから選んでもらうなんて方法もありますが、あまりスマートじゃない (´・ω・`)
できれば、自動的に入ってくれれば良いのだけど…
Contact Form 7を使っていれば、そんなときに使えるフィルターが用意されていました。
wpcf7_form_tag
finction.phpに以下を追加
<?php //Contact Form 7 URLパラメーター取得 function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; if(isset($_GET['subject'])){ $name = $tag['name']; if($name == 'contact-subject') $tag['values'] = (array) $_GET['subject']; } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter'); ?>
呼び出し側のリンクに
<a href="http://◯◯◯.com/contact/?subject=ほにゃほにゃ">お問い合わせ</a>
こうすると、subjectという名前をつけたフォームパーツ(一般的にはtextだと思いますが)に自動的に「ほにゃほにゃ」が挿入されます。
あとは、それを表示のみ(修正できない)ようにするのであれば
[text contact-subject id:contact-subject readonly]
と、フォームパーツのショートコードに『readonly』を付加してやれば良いし、ページのスラッグを取得して、自動的に挿入する文字列を挿入するなんて応用もできますね。
WPのさんや、かもメモさんのブログを参考にさせていただきました。
ありがとうございましたぁ (・o・)