👩💻
TransmitMailをWordPressに設置する方法
TransmitMailをWordPressに設置する方法
この開発のきっかけ
WordPressのお問い合わせフォームのプラグインといえば、MW WP FormやContact Form 7が有名ですが、
フリーのメールフォーム素材とWordPressを融合させる方法はないかと探していたところ、興味深い記事を発見しました。
TransmitMailはよくお世話になっていたので、これはと思い挑戦してみましたが…
案の定上手くいかず…Twitterでこんなボヤキを…
そして、救世主が登場しました!
まさか、開発者の方とTwitterでやりとりするとは思いませんでした笑
実装ができなかった原因
form要素のaction属性の値によってどこにsubmitするかはブラウザおよびHTMLの仕様によって変わってくることを分かっていない自分でした…(/ _ ; )
つまり、TransmitMailが大きな原因ではないという事です…tagawaさんすみませんでした。
実装方法は以下の書き方となります。
- input.php
input.php
<form class="form_contact" method="post" action="./contact?confirm" enctype="multipart/form-data">
- confirm.php
confirm.php
///入力画面に戻る
<form method="post" action="./contact?input">
//完了画面に進む
<form method="post" action="./contact?finish">
- header.php
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>
ポイントは
- form要素のaction属性の値をどのようにとるか
- タイトルタグにarray_key_exists関数を使って、各確認完了画面ページの値に$_GETを使えば動的になります。
利点は
- TransmitMailを使ったwebサイトへの対応
- WordPressの固定ページ1ページだけ(確認、完了画面ページなし)で完結できる!
- MW WP FormやContact Form 7が上手く実装できない時に一つの選択肢が増える。
Discussion