こんにちは。かっぺいです。
有料のテーマTHORにある問い合わせ画面ですが、別にプラグインを入れなくても実現できて便利です。
しかし、色々とクセのあるテーマなので、問い合わせメールを送信するのにも問題があります。
WordPressでメール送信
AWSでWordPressサイトを構築した場合、SMTPサーバは別途用意する必要があるので、メール送信の問題が発生します。
AmazonSESなど、メール関連サービスを構築して組み合わせれば実現できるのですが、小規模ブログの場合には、GMailを送受信のメールにしてWordPressでメール機能を実装したい場合が多いと思います。
そのような場合には、プラグインのWP Mail SMTPを使えば簡単に実現できます。
THORの問い合わせからメール送信
2024/3/7更新
2.5.0で修正されて、何もしなくてもWPMailから送信できるようになりました
THORの問い合わせ画面、簡単に作れて便利なのですが、プラグインのWP Mail SMTPと組み合わせてメール送信ができませんでした。
調べてみたところ、THORではPHPのmb_send_mailを呼び出していて、WordPressのメール機能を使っていないようなので、プラグインを使ったメール送信が行えていないようです。
AmazonLinuxではphp.iniやsendmail設定を編集して、メール送信設定を入れれば送信できるようになりそうですが、プラグインのお手軽さはありません。
また、GMailを使う場合にGmailのSMTPサーバを使うことができるのですが、セキュリティの面からあまり推奨されなくなっているようです。
そのため、WP Mail SMTPを使って、GMailのAPIを使ってメール送信できるようになってくれると便利なんだけどなと思っていました。
テーマのカスタマイズ
プラグインを使って、メールを送信するためにはTHORのテーマをカスタマイズすることで対応可能です。
- 外観からテーマファイルエディタを開きます
- 編集するテーマを選択にTHORの親テーマを選びます
- テーマファイルから、お問い合わせTPL固定ページテンプレート(page-contact.php)を選びます
- 107行目と133行目にmb_send_mailの記述があるので、wp_mailに変更します

これで、THORの問い合わせ画面からのメール送信が、プラグインのメール送信機能を使って送信できるようになります。
注意点として、テーマファイルを変更しているので、テーマがアップデートされた場合には、変更したものが元に戻ってしまいます。
プラグインを使ってTHORコンタクトフォームを共存する場合
メール送信の問題から、ContactForm7を使って問い合わせ画面を作ろうとすると、THORのコンタクトフォームが一緒に表示されてしまいます。
この問題は、テンプレートをデフォルトに戻すだけでは解決しないことがあります。THORはパーマリンクがcontactになっていると問い合わせ画面を作ってしまう作りになっているので、パーマリンクを変更することで解決することができます。