Now loading .....

rolling
TOP > ブログ > PHP > TransmitMailをWordPressに設置する方法

TransmitMailをWordPressに設置する方法

wordpressのlogo

2018/11/24

この開発のきっかけ

WordPressのお問い合わせフォームのプラグインといえば、MW WP FormやContact Form 7が有名ですが、フリーのメールフォーム素材とWordPressを融合させる方法はないかと探していたところ、興味深い記事を発見しました。

https://dounokouno.com/2017/03/26/transmitmail-wordpress/

TransmitMailはよくお世話になっていたので、これはと思い挑戦してみましたが…
案の定上手くいかず…Twitterでこんなボヤキを…

そして、救世主が登場しました!

まさか、開発者の方とTwitterでやりとりするとは思いませんでした笑

実装ができなかった原因

form要素のaction属性の値によってどこにsubmitするかはブラウザおよびHTMLの仕様によって変わってくることを分かっていない自分でした…(/ _ ; )
つまり、TransmitMailが大きな原因ではないという事です…tagawaさんすみませんでした。

実装方法は以下の書き方となります。

input.php

<form class="form_contact" method="post" action="./contact?confirm" enctype="multipart/form-data">


 

confirm.php


//入力画面

<form method="post" action="./contact?input">


//完了画面

<form method="post" action="./contact?finish">

 

header.php


//お問い合わせページのtitleタグの動的にする方法
<title>
<?php elseif(is_page('contact')): ?>

<?php if (array_key_exists('confirm', $_GET)) : ?>
お問い合わせ 確認 <?php bloginfo('name'); ?>
<?php elseif (array_key_exists('finish', $_GET)) : ?>
お問い合わせ 完了 <?php bloginfo('name'); ?>
<?php else: ?>
お問い合わせ 入力画面 <?php bloginfo('name'); ?>

<?php endif; ?>

</title>

 

ポイントは
1.form要素のaction属性の値をどのようにとるか
2.タイトルタグにarray_key_exists関数を使って、各確認完了画面ページの値に$_GETを使えば動的になります。

最後に

利点は
・TransmitMailを使ったwebサイトへの対応
・WordPressの固定ページ1ページだけ(確認、完了画面ページなし)で完結できる!
・MW WP FormやContact Form 7が上手く実装できない時に一つの選択肢が増える。

その他記事

blogに戻る一覧

webサイトの制作、webサービスの立ち上げ
webシステムの開発、アプリケーションの開発
是非、contactまでお問い合わせくださいませ