大切なあなたに、良きもの、良き方法を。
お問い合わせ

TransmitMailをWordPress5.5でv2.6にバージョンアップする際のポイント・注意点・変更箇所

更新日 : 2022/11/03
Wordpress
以前からWordPressのお問い合わせ設置に、定番プラグイン「Contact Form 7」を使わずに、デザインの自由度が高い「TransmitMail」を使っているのですが、
WordPressを5.6にバージョンアップしたとたんに動かくなってしましました。

ググってみるどうやら「TransmitMail」を「WordPress5.5以上」で動作させるには「TransmitMail」自体を「バージョン2.6」にする必要があることがわかりました。

ここではバージョンアップの際のハマりやすい「変更や設定箇所・ポイント」を簡単にまとめてみました。
答える人

ディレクトリ構造

TransmitMail
Copyright 表示不要の PHP 製 汎用メールフォームシステム
TransmitMailはこちらより入手
作者のtagawaさんのWordPress5.5での設置解説

固定ページのスラッグは「contact」と仮定します。
テンプレートファイル名 → 「page-contact.php」

WordPressでTransmitMailを使用する場合は「index.php」は不要なので削除

固定ページのテンプレートファイル

通常は固定ページのテンプレートにHTMLでタグを記述するわけですが、
TransmitMailは、直接テンプレートファイルに書き込まずに、
「input.html」にHTMLを記述してテンプレートに読み込む形をとっています。

そのための「input.html」を読み込むためのPHPを、テンプレートファイルの表示させる部分に記述。
(一般的にはヘッダーとフッターの間と思います。)

旧バージョン2.0.xからバージョンアップする場合は、PHP文が変更になっているので注意が必要です。
※phpまでのパスは自分の環境に合わせて変更。(/ディレクトリ/config/config.phpの部分)

<?php require_once TEMPLATEPATH.'/contact/lib/TransmitMail.php';
$tm = new TransmitMail();
$tm->init(TEMPLATEPATH . '/contact/config/config.php');?>
<?php $tm->run(); ?>

input.htmlの編集

  1. input.htmlに記述する送信フォームの「form」の「action=”./”」を削除。action属性は不要。
  2. 以下のcsrf_tokenの記述を追加。(CSRF対策するなら必要)
<form id="formID" method="post" enctype="multipart/form-data">
<input type="hidden" name="csrf_token" value="{$csrf_token}">

confirm.htmlの編集

送信内容の一覧が表示される画面(確認画面)から、送信ボタンを押しても送信されない場合は、
以下のnameの「属性値」が古い可能性があります。

バージョンアップで「nameの属性値」が変更になっているので属性値を「name=“page_name”」に変更。

これに気がつかなくて送信できずにハマりました。
原因はWordPressバージョンアップで変数がかぶったそうです。

ここでも「action属性」は不要なので削除

TransmitMail.phpの入れ替え

適宜設定をして、そっくり入れ替えでOKです。

パーミッションは755。

config.phpの編集

変数名が変更になっているので以下の3つを変更

  • to_email → email
  • to_subject → subject
  • auto_reply_email → auto_reply_email_input_name

まとめ

今回の変更箇所のポイントは、「confirm.html」と「config.php」の変数名の変更にあると思うので、旧バージョンからバージョンアップする場合は変更をお忘れなく。

バージョンアップが出るたびに、その都度自分のサイトのスクリプトをバージョンアップすればトラブルも少なくてすむと思うのですが、
「今は動くからいいか…」と後回しにしてると、バージョンに取り残されて変更箇所がどんどん溜まっていきます。

そしていざバージョンアップすると何が原因で動かないのかさっぱりわからず、無駄に時間をとられてしますことは珍しくありません。

ちょこちょこバージョンアップが未来の自分を助けますね。
わかっちゃいるけどできないのが人間なんですけど。。。ではでは。

作者のtagawaさんに感謝。

コメント

コメント欄

目次