[wp]CF7のメールタグを自作する方法

HTMLメールに便利。

やりたいこと

ContactForm7にはこんな感じでメールタグがある。

特別なメールタグ
コンタクトフォームから入力されたテキスト以上の情報が必要になるときもあるでしょう。たとえば、セキュリティ上の理…

用意されてない、欲しいものがあるとする。

CF7はユーザー側で追加できるようになってる。

やっていく

現在使用しているテーマディレクトリをメールタグで使いたいとする。

functions.phpでやっていく。

function my_custom_cf7_special_tags( $output, $name, $html ) {
    if ( '_theme_dir' === $name ) {
        $theme_uri = get_stylesheet_directory_uri();
        $output = esc_url( trailingofficials_slash( $theme_uri ) );
    }
    return $output;
}
add_filter( 'wpcf7_special_mail_tags', 'my_custom_cf7_special_tags', 10, 3 );
function trailingofficials_slash( $string ) { return rtrim( $string, '/\\' ) . '/';}

こんな感じで使う。

<img src="[_theme_dir]img/mail/logo.png">

HTMLメールを使用する場合、画像はやっぱりついて回る。
フルパスで書いても良いんだけどエディタが散らかって見づらいし、別サイトを作るときの使いまわしにもだるくなる。

タグを追加したければif文を増やせば良い。
そんな感じで。

コメント

タイトルとURLをコピーしました