wordpress contactform7を記事や固定ページと連携させる方法
wordpressのお問合せフォームプラグイン「contactform7」のカスタマイズです。
今回は記事ページもしくわ固定ページに問合せフォームを設置し、尚且つフォームの件名に記事タイトルを設定する方法です。
商品を販売等のページの下に問合せフォームを付けたりする時に役立つカスタマイズ方法だと思います。
記事ページ・固定ページの任意の場所に問合せフォームを設置する
通常お問合せページ等を作り、投稿欄にContactform7のショートカットコードを入力するだけで完了ですが、
single.phpやpage.phpにこのショートカットコードをそのまま入れても動作しません。
ですので、下記タグをテンプレートのお問合せフォームを表示させたい箇所に入れます。
contact-formのショートコード[の間に記述されている部分]は変更してください。
1 |
<?php echo do_shortcode( '[contact-form-7 id="2799" title="コンタクトフォーム 1"]' ); ?> |
フォームの件名に記事タイトルを自動で入れる
ただページや記事に問合せフォームを入れても、何に対しての問合せか分からないので困ります。
自動で記事の件名を入れられるようにします。
contactform7のフォームの設定の箇所には
1 |
[text language="your-subject"][/text] |
そしてテーマのfunction.phpでyour-subjectを記事(ページ)件名に変換する指示を与えます。
今回は不動産プラグインのテーマ内のタグを参考にしましたので、不要なタグがもしかして入っているかもしれませんが、下記で正常に動きます。
他にもクラス付したタグ等で設定することも出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
//Contact Form 7 function wpcf7_form_tag_filter($tag){ global $post; $post_id = $post->ID; if ( ! is_array( $tag ) ) return $tag; if($post_id != ""){ $name = $tag['name']; if($name == 'your-subject'){ $tag_val .= " ".get_the_title(); $tag['values'] = $tag_val; } } return $tag; } add_filter('wpcf7_form_tag', 'wpcf7_form_tag_filter', 11); |
function.phpに記述する際には<?phpと?>の間に入れてください。
Contactform7は とても奥が深く、カスタマイズ方法は色々ありますね。
他にも便利な機能がありますので また次回紹介致します。
以前紹介しました メールアドレス確認用フォームの設置と 郵便番号からの自動住所入力はこちら
may the force be with you…