【wordpress】MW WP Form フィルターフックを使用して管理宛メールの件名を出し分ける
■ まえがき
とある企業からLP制作の依頼があり、普段使用している問い合わせフォームに遷移するのでよいが、LPからの問い合わせと分かるように、管理者宛メールの件名を通常の問い合わせと区別が付く件名にして欲しいと言われました。
その時にフックを使用して件名の変更を行なったので備忘として書いておきます。
■ やりたいこと
フォームはwordpressのプラグイン「MW WP Form」で作ったものを使う。
同じ問い合わせフォームを使用するが、Aのページから遷移してきた問い合わせには管理者宛メールの件名を「問い合わせ(A)」とし、その他のページから遷移してきた問い合わせには件名を「問い合わせ(B)」にする。
■ やり方
① LPから飛ぶ問い合わせページのリンクにパラメータを付ける
もともと使用していたフォームのURLが「ドメイン/contact/」だとすると、LPページから飛ぶ問い合わせフォームへのリンクは「ドメイン/contact/?lp=a」にします。
② functions.phpにフックを追加
functions.phpに以下を記述します。
/**
* my_mail
* @param object $Mail
* @param array $values
* @param MW_WP_Form_Data $Data
*/
function my_mail( $Mail, $values, $Data ) {
if($_GET["lp"] === "a") { //LPからの問い合わせ
$Mail->subject = '問い合わせ(A)';
} else { //LP以外からの問い合わせ
$Mail->subject = '問い合わせ(B)';
}
return $Mail;
}
add_filter( 'mwform_admin_mail_mw-wp-form-xxx', 'my_mail', 10, 3 );
「mwform_admin_mail_mw-wp-form-xxx」のxxxにはフォーム識別子を入れてください。
※ functions.phpで件名を設定すると、管理画面上で設定したものは反映されなくなります。その後の修正などがあった場合の管理には注意してください。
■ 参考
・MW WP Form
・MW WP Formで商品名を自動入力するようにしたよ
・MW WP Formで選択項目によりメールアドレス変更
・PHP マニュアル 言語リファレンス
Author And Source
この問題について(【wordpress】MW WP Form フィルターフックを使用して管理宛メールの件名を出し分ける), 我々は、より多くの情報をここで見つけました https://qiita.com/m_t_of/items/28d3372752b800b2d334著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .