以前、TransmitMail を WordPress で使う場合の設置方法という記事を書いたけど、 TransmitMail や WordPress のバージョンが上がって、少し情報が古くなって、うまく動かない場合があるようなので、この記事を書いている時点のそれぞれの最新のバージョンで動作する方法を改めて書いてみたいと思います。
(というか、 WordPress 5.5 で TransmitMail がうまく動かなくなったので、修正した TransmitMail v2.6.0 を昨日リリースした。)
各種バージョン
- WordPress: 5.5
- TransmitMail: 2.6.0
ファイル構成
ファイル構成は以前の記事と同じです。
WordPress の設置ディレクトリ/
└ wp-content/
└ themes/
└ theme_name/
├ page-contact.php
└ contact/
├ ※ここに TransmitMail のファイル一式を置く
├ ※ index.php は不要なので削除する
├ テンプレートファイル
├ config/
├ lib/
├ log/
└ tmp/
contact ページを作る
(ここも以前の記事と同じです。)
スラッグはなんでもいいですが、ここでは contact
というスラッグでページを作ることにします。本文は空にします。(本文を入れても構いません。その場合、本文を出力する記述などが必要になります。)
page-contact.php に TransmitMail を読み込む
(ここも以前の記事と同じです。)
上記で作った contact
ページのテンプレートファイルが page-contact.php
なので、このファイルに TransmitMail の読み込みなどを書いてきます。
HTML の構造にもよりますが、下記のようなコードを書きます。
<?php
require_once TEMPLATEPATH . '/contact/lib/TransmitMail.php';
$tm = new TransmitMail();
$tm->init(TEMPLATEPATH . '/contact/config/config.php');
get_header();
?>
<main>
<?php $tm->run(); ?>
</main>
<?php get_footer();
設定ファイルは PHP ファイルを利用します。
config.php を編集する
(ここも以前の記事と同じです。)
config.php を下記の記述します。
<?php
// この辺りはいつもの TransmitMail の設定
$config['email'] = 'info@example.com';
$config['subject'] = '[株式会社テスト]お問い合わせ';
$config['auto_reply_subject'] = '[株式会社テスト]お問い合わせありがとうございます';
$config['auto_reply_name'] = '株式会社テスト';
// 以下が WordPress で TransmitMail を利用する場合の特有の設定
$config['tpl_input'] = TEMPLATEPATH . '/contact/input.html';
$config['tpl_confirm'] = TEMPLATEPATH . '/contact/confirm.html';
$config['tpl_finish'] = TEMPLATEPATH . '/contact/finish.html';
$config['tpl_error'] = TEMPLATEPATH . '/contact/error.html';
$config['mail_body'] = TEMPLATEPATH . '/contact/config/mail_body.txt';
$config['mail_auto_reply_body'] = TEMPLATEPATH . '/contact/config/mail_auto_reply_body.txt';
$config['log_dir'] = TEMPLATEPATH . '/contact/log/';
$config['tmp_dir'] = TEMPLATEPATH . '/contact/tmp/';
※2020年9月16日追記: v2.2 で変数名を変更していたのを忘れていて、古い変数名になっていたので、 新しい変数名に修正した。参照: https://github.com/dounokouno/TransmitMail/issues/26#issuecomment-493996030
TransmitMail のテンプレートファイルを編集する
(ここも以前の記事とほぼ同じです。)
最後に TransmitMail のテンプレートファイルを編集します。
ヘッダー、フッターなどは WordPress のテーマファイルに書いているので、 form 要素の周辺と TransmitMail に関連する部分だけを記述します。
v2.6.0 以前では、 TransmitMail に同梱していたサンプルのテンプレートファイルの form
要素に action
属性を記述していたのですが、 TransmitMail v2.6.0 では削除しました。( action
属性があることで説明がややこしくなるので。)
動作確認
http://localhost/contact/ などの URL で TransmitMail が動作することが確認できるかと思います。
以下は Twenty Twenty に TransmitMail を設置してみた場合のスクリーンショット画像です。
まとめ
以上、 TransmitMail v2.6.0 を WordPress 5.5 で利用する場合の設置方法のご紹介でした。
それでは、 Let’s enjoy WordPress 5.5 and TransmitMail 2.6.0!