0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

contact form7にページのタイトルを自動で付加する

Posted at

自己紹介

ホームページ制作&webに関するスキルシェアをしています。

今回は、wordpressでお問合せボタンを押した時に、どのページからお問い合わせをしたのか情報が引き継いだら良いのにな~と思った時に使える、contact form7のカスタマイズ方法を紹介します。

contact form7での設定

<label>お問合せ元ページタイトル
 [text* title]</label>

<label> お名前 (必須)
    [text* your-name] </label>

<label> 電話番号 (必須)
    [tel* your-tel] </label>

<label> メールアドレス (必須)
    [email* your-email] </label>

<label> メッセージ本文
    [textarea your-message] </label>

[submit "送信"]

function.php ファイルへ追記

pageIDをフックに、そのページのタイトルとURLを取得します。

$tag[‘name’] == ‘title’
という箇所ですが、contact formの設定でページのタイトルを自動出力する箇所の名前に[text* title]と記述しているので、右の値がtitleとなります。


function wpcf7_get_post_data( $tag ){
     
    if( !is_array( $tag ) ) return $tag;
     
    //クエリに[post_id]がセットされているか
    $post_id = ( isset( $_GET['post_id']) && $_GET['post_id'] ) ? $_GET['post_id'] : false;
     
    //[post_id]がある場合
    if( $post_id ) {
         
        if( $tag['name'] == 'title' ) {
             
            $title = get_the_title( $post_id );
            $tag['values'] = array( $title );
             
        }         
    }
     
    return $tag;
}
add_filter( 'wpcf7_form_tag', 'wpcf7_get_post_data' , 11 );

お問い合わせフォームを出力させる時

ページの番号を?post_id=番号の箇所へ入れてあげるとタイトルを引き継ぐことが出来ます。

<a href="http://自分のドメイン.com/contact/?post_id=番号">問い合わせ</a>

functionをいじるので、ちょっと怖いかもという方には、以下の設定がお勧めです。
今までの説明は、
固定ページ ⇒ お問い合わせフォーム
と画面を移行するけれど前のページの情報を引きつぐという内容だったのですが、

これから紹介する内容は、
「固定ページ(投稿ページ)でお問い合わせフォームを出力している」
場合に使える超~簡単な方法になります!

contact form7に特殊なメールタグが存在

今回は[_post_title]を使います。

その他にも
IPアドレス取得[_remote_ip]
ブラウザ情報取得[_user_agent]
コンタクトフォーム設置のURL[_url]
送信日[_date]
送信時間[_time]

その他にも色々あるみたいでcontact form7で使える特殊なメールタグ公式サイトを参考にしました。

投稿ページ内部に埋め込まれている時に使えるメールタグ

[_post_id] — このタグは投稿の ID で置き換えられます。
[_post_name] — このタグは投稿の名前(スラッグ)で置き換えられます。
[_post_title] — このタグは投稿のタイトルで置き換えられます。
[_post_url] — このタグは投稿のパーマリンク URL で置き換えられます。
[_post_author] — このタグは投稿の作成者名で置き換えられます。
[_post_author_email] — このタグは投稿の作成者のメールアドレスで置き換えられます

メールタグを挿入するだけだった

メールの設定に[_post_title]を入れるだけでした。
なんと簡単。

image.png

まとめ

ネットショップ風だったり、前のページの情報を受け取りたい時はfunctionへの追記、簡単に実装したい方はcontact form7の特殊なメールタグを利用してみてください!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?