rui live note

WordPress、PHP、子育て、ブログ、将棋、コワーキング、子育て、群馬等に関する日々感じたことを書いているブログです

*

Contact Form 7で使える特別メールタグや独自タグの作成方法など

  • このエントリーをはてなブックマークに追加
  • Pocket

Contact Form 7
photo credit: Kalexanderson via photopin cc

WordPressでメールフォームを設置したい場合の定番プラグインContact Form 7で、メール送信の際に使用できる特別なメールタグや、独自タグの作成方法をご紹介します。

※なお、動作確認時のバージョンは 3.3.3 です。

特別なメールタグ

公式のサポートサイトにも掲載されている情報ですが、特別なメールタグとして次のようなタグが予め用意されています。

[_remote_ip] このタグは送信者の IP アドレスで置換されます。
[_user_agent] このタグは送信者のユーザーエージェント情報で置換されます。
[_url] このタグはコンタクトフォームの URL で置換されます。
[_date] このタグは送信された日付で置換されます。
[_time] このタグは送信された時刻で置換されます。
[_post_id] このタグはコンタクトフォームを含んだ投稿の ID で置換されます。
[_post_name] このタグはコンタクトフォームを含んだ投稿の名前(スラッグ)で置換されます。
[_post_title] このタグはコンタクトフォームを含んだ投稿のタイトルで置換されます。
[_post_url] このタグはコンタクトフォームを含んだ投稿のパーマリンクで置換されます。
[_post_author] このタグはコンタクトフォームを含んだ投稿の作成者の名前で置換されます。
[_post_author_email] このタグはコンタクトフォームを含んだ投稿の作成者のメールアドレスで置換されます。

例えば、メールの送信日時を含めたければ、Contact Form 7メッセージ本文の設定に次のようにタグを入れれば良いわけです。

メール送信日時:[_date][_time]

送信日付、時刻やユーザーエージェントなど結構使うケースがあるので、知っておくと便利だと思います。

独自タグの作成方法

特別なメールタグでも要求が不足する場合には、自分で独自タグを追加することもできます。

例えば、現在のログインユーザー名を設定できるタグを作成するとします。

function.phpに以下のコードを追加します。

/**
 * contact form 7の独自タグ追加
 */
function ad_special_mail_tags($output, $name) {
    // ログインユーザー名を取得するタグ
    if ("_login_user" == $name) {
        global $user_identity;
        if (empty($user_identity)) {
            $output = 'ゲスト'; //ログインしていない場合
        } else {
            $output = $user_identity;
        }
    }
    return $output;
}
add_filter('wpcf7_special_mail_tags', 'ad_special_mail_tags', 10, 2);

あとは、メッセージ本文の設定に次のようにタグを入れれば使用できます。

ログインユーザ:[_login_user]

標準機能でも通常用途には十分ですが、独自タグが作れるようになるとまたContact Form 7の利用幅が広がりますね。

ad

この記事が気に入ったらシェアしてもらえると嬉しいです!

  • このエントリーをはてなブックマークに追加
  • Pocket
  • follow us in feedly
  • RSS

Comment

  1. […] などは確か使えなかったかと思います。 もちろん自分でcontactform7を改良して独自タグを作成すれば出来なくは無いですが、大本のファイルをいじるので。 WordPress自体やcontactform7のアッ […]

  2. […] 法はもちろんあります。 この辺りの記事を参考にしました。 Contact Form 7で使える特別メールタグや独自タグの作成方法など Contact Form 7の特別なメールタグをfunctions.phpで追加 [Wordpress]Conta […]

  関連記事

command line
svnコマンドでリポジトリ作成する手順

時代はgitなどの分散バージョン管理システムですが、私はまだ公私ともSubver …

WordPress
WordPress 3.5.1に更新したのでそのアップグレード手順まとめ

WordPress Logo / Phil Oakley 久しぶりのブログ更新で …

プログラミング
ウィンドウのスクロール位置を保持したままページ遷移する方法

ウィンドウのスクロール位置を保持したままページ遷移する方法を調べていまして、ざっ …

FuelPHP
「はじめてのフレームワークとしてのFuelPHP 第2版」が当選したのでFuelPHPを軽くいじってみました

先日、軽い気持ちでこちらの電子書籍版 FuelPHP 本のプレゼントに応募したと …

WordCamp Tokyo 2015
初めて尽くしの「WordCamp Tokyo 2015」に行ってきました!

行ってきました!年に一度の WordPres のお祭り「WordCamp Tok …

ffmpeg-php
ffmpeg-phpを入れてNetCommonsの動画配信モジュールを使ってみるまでのセットアップ手順

NetCommons2公式サイト 動画配信モジュール NetCommonsに動画 …

CakePHP
CakePHPを初めて使ってみたことのまとめ

先日CakePHPを使ったシステムを作りました。 サーバ環境の都合でバージョンは …

WordPress
WordPressで特定のタグを持つ投稿にだけ共通メッセージを表示させてみる

WordPressの小ネタです。 ある特定のタグを持つ投稿にだけ、本文の先頭に共 …

WordPressテーマpigeon
WordPressで見守りメールアプリが簡単に作れるテーマ「pigeon」を作成しました

WordPress 上で見守りメール Web アプリが簡単に作れるテーマ「pig …

svnエクスポート
svnコマンドでバージョン間の差分ファイルをエクスポートする方法

Subversionを使っていてバージョン間の差分ファイルをエクスポートする機会 …