Contactform7でPHPコードが使えなくて困った件!
こんにちは。
またもはまりました。
Contactform7でPHPが使えないので困りました。
問合せに番号(一意であれば連番でなくても可)をふらないといけなかったんです。
サンキューページにリダイレクトをかけているので、
セッションに問合せ番号を詰めて
メールにも問合せ番号を記載して、
サンキューページで取得したいだけ!
フォームカスタマイズ欄のショートコードを使用はすぐにわかったんですが、
メール本文に設定できなかったり、連番を振ってくれるプラグインは
途中でDBに保存する方法(値の部分)が出せなかったり(私の技量のなさですが・・・・)
調べれば調べるだけ樹海にはまりました。
すると便利な関数があって、
それを使うとクリアできたので、備忘録のため残しておきます
まずコードを
add_filter('wpcf7_special_mail_tags', 'my_special_mail_tags',10,2); function my_special_mail_tags($output, $name) { $(変数名) = (_〜処理または値〜); if('(変数名)' == $name){ $output = $(変数名); } return $output; }
これを指定してContactform7のメール本文で[(変数名)]とすると送信もできて
セッションに値も入れれて、問題なし!
これは自分なりの解釈なので、間違えている可能性のほうが大きいですが
僕は上のコードをこのように解釈しています
add_filter('wpcf7_special_mail_tags', 'my_special_mail_tags',10,2); function my_special_mail_tags($output, $name) { }
これはいわゆる「宣言!」です。
「俺今から独自のタグ作っちゃうけんね!」って意味です
if('(変数名)' == $name){ $output = $(変数名); } return $output;
これは(変数名)がすでに存在している間は、処理を上書きすると
正常に動作しなくなるかもしれないので、上書きしないでね!
という意味だと思われます。
しかし便利だ。