どうのこうの

名古屋/元フリーランス/スタートアップ勤務/ウェブ/マークアップ/プログラマ/エンジニア

TransmitMail を WordPress で使う場合の設置方法


TransmitMail を WordPress で使いたい場合、いろいろなやり方があるかと思いますが、私だったらこうする、みたいなことを書いてみたいと思います。

ファイル構成

ファイル構成は下記のようにします。

contact ページを作る

スラッグはなんでもいいですが、ここでは contact というスラッグでページを作ることにします。本文は空にします。(本文を入れても構いません。その場合、本文を出力する記述などが必要になります。)

page-contact.php に TransmitMail を読み込む

上記で作った contact ページのテンプレートファイルが page-contact.php なので、このファイルに TransmitMail の読み込みなどを書いてきます。

HTML の構造にもよりますが、下記のようなコードを書きます。

設定ファイルは PHP ファイルを利用します。

config.php を編集する

config.php を下記の記述します。

注意点としては、 $config['session']false にしておくことでしょうか。(セッションによる多重送信防止機能がうまく動作しないためです。おそらく、 WordPress のセッション周りと競合しているんだと思います。この設定により、セッションによる多重送信防止機能はオフになります。)

TransmitMail のテンプレートファイルを編集する

最後に TransmitMail のテンプレートファイルを編集します。

ヘッダー、フッターなどは WordPress のテーマファイルに書いているので、 form 要素の周辺と TransmitMail に関連する部分だけを記述します。

注意点としては、 form 要素の action 属性の値は ./ にすることです。 TransmitMail の初期のテンプレートファイルは action 属性が index.php になっているので、初期テンプレートから編集する場合は注意してください。

動作確認

http://localhost/contact/ などの URL で TransmitMail が動作することが確認できるかと思います。

以下は Twenty Seventeen に TransmitMail を設置してみた場合のスクリーンショット画像です。

まとめ

以上、 TransmitMail を WordPress で利用する場合の設置方法のご紹介でした。

WordPress にはいくつかのメールフォームプラグインがありますが、レイアウトの自由度が低かったりしますので、 WordPress で制作したサイトにレイアウトの自由度の TransmitMail を設置したい場合に、この記事を参考にしていただければと思います。

それでは、 Let’s enjoy WordPress and TransmitMail!

4 Comments

  1. オレンジランド

    2017年4月13日 at 13:16

    こんにちは。
    Wordpressのテーマファイルに、
    使い勝手の良いTransmitMailを設置したくて、
    こちらを参考に設置作業をさせていただいているのですが、
    どうしても添付ファイルのアップロードがうまくいかないのです。
    なにか設定を変更する箇所やポイントはありますでしょうか?
    よろしくお願いいたします。

    ※「config.php」に「$config[‘file’] = true;」は追加いたしました

  2. オレンジランド

    2017年4月13日 at 14:52

    こんにちは。
    自己解決しました。
    $config[‘tmp_dir’] = TEMPLATEPATH . ‘/contact/tmp/’;
    を追記することで行けそうな感じです。
    お騒がせいたしました。

  3. tagawa

    2017年4月13日 at 15:13

    オレンジランド様

    TransmitMail をご利用いただきありがとうございます。

    自己解決されたとのことで、安心いたしました。

    tmp ディレクトリの設定は記載を忘れていましたので、投稿を修正しました。

    また、今のままですと添付ファイルが画像の場合、プレビューが表示されないと思いますので、下記の手順を試してみてください。

    wp-content/themes/theme_name/contact/ に下記の記述の index.php を作成する

    config.html の img 要素の src 属性の値と a 要素の href 属性の値を下記のように記述する

    以上です。

    ご参考になれば幸いです。

  4. オレンジランド

    2017年4月14日 at 14:35

    こんにちは。
    早々のご回答ありがとうございます。

    ご指摘の通り、
    プレビュー表示につまずいて、上記設定で試みているのですが、はまってしまって試行錯誤しているところです。

    tmpディレクトリのhtaccessを削除して
    /wp-content/themes/theme_name/contact/{$files[].tmp_name}
    で直にアクセスすれば表示されますが、セキュリティ的にアウトなので、却下しているところです。

    凡ミスがないか再度チェックして、挑戦してみます。
    重ねてありがとうございます。

コメントを残す

Your email address will not be published.

© 2017 どうのこうの

Theme by Anders NorenUp ↑