以前からWordPressのお問い合わせ設置に、定番プラグイン「Contact Form 7」を使わずに、デザインの自由度が高い「TransmitMail」を使っているのですが、 WordPressを5.6にバージョンアップしたとたんに動かくなってしましました。 ググってみるどうやら「TransmitMail」を「WordPress5.5以上」で動作させるには「TransmitMail」自体を「バージョン2.6」にする必要があることがわかりました。 ここではバージョンアップの際のハマりやすい「変更や設定箇所・ポイント」を簡単にまとめてみました。 |
目 次
ディレクトリ構造
固定ページのスラッグは「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の編集
- input.htmlに記述する送信フォームの「form」の「action=”./”」を削除。action属性は不要。
- 以下の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さんに感謝。
バージョンアップが出るたびに、その都度自分のサイトのスクリプトをバージョンアップすればトラブルも少なくてすむと思うのですが、
「今は動くからいいか…」と後回しにしてると、バージョンに取り残されて変更箇所がどんどん溜まっていきます。
そしていざバージョンアップすると何が原因で動かないのかさっぱりわからず、無駄に時間をとられてしますことは珍しくありません。
ちょこちょこバージョンアップが未来の自分を助けますね。
わかっちゃいるけどできないのが人間なんですけど。。。ではでは。
作者のtagawaさんに感謝。
【2024版】有名企業サイト・ブログのCSS-font-familyフォントファミリー(フォント指定)のまとめ。 | WordPress:Welcartの商品一括登録をMac版OpenOffice編集ポイント。うまくいかないならチェック! |
コメント