【WP】「この記事へのお問い合わせ」をWM WP Formを使って、WordPressに実装してみた。

この記事へのお問い合わせ機能ってありそうであんまりないよね。でも、結構必要だったりするのよね

よく使いそうな機能なんですが、基本の機能ではあまりお目にかかったことはない。
次回の案件で使うのでメモ程度に残しておこうと思います。

不動産サイトやイベント系サイト、市のサイトとかでもよく使うかと思います。

今回使用するのは、モンキーレンチさんのWM WP Formというプラグインです。

具体的にやりたいことはこういう事

前のページのタイトルを、フォームに自動でinputに記載する。

■デモ

使うお問い合わせのプラグインはMW WP Form

Wordressのお問い合わせフォームのプラグインはたくさんありますが、今回はMW WP Formを使います。

なぜこれがいいかと言いますとURL引数が使える!post idをもとにtitleとかmeta情報が取得できるとのことです。

有効にした場合、MW WP FormはURL引数を取得します。また、URL引数 ”post_id” をもとに投稿を取得します。その投稿($post) のプロパティを使用できるようになります。
例:{ID}、{post_title}、{post_meta}など… プラグイン説明文より

あるやんか・・・・

ちなみに有名なContact form7やその後継のTrust formでも可能です。GETとか使いますけど。

MW WP Formの引数の使い方

  • 1.URL引数を有効にする。
  • 2.リンクにpost idを入れる
  • 3.valueに{post_title}を入れる
  • 4.自動返信にタイトルを入れる

URL引数を有効にする。

WM WP Formの右下のあたりにあります。
ちなみに一番したの画面変遷時にスクロールを有効にするにチェックを入れると画面が変わった時に、お問い合わせフォームの一番上に移動します。
フォームが長い時とかだと使いますかね。チェックいれておけばいいと思います。

URL引数を有効にしていない場合でも{post title}などが使えますが、そのページのタイトルが出てきてしまうので、前のページの情報は持っておりませんので注意

例えば、前のページのタイトルが「テストA」だったとして、お問い合わせフォームの設置ページが「フォーム」だとすれば「フォーム」の名前が出てきてしまいます。

リンクにURL引数にpost_idを入れる

<a href="<?php echo esc_url(home_url('/')); ?>spammail/?post_id=<?php echo $post->ID; ?>">この記事に対するお問い合わせ。</a>

コピペでそのまま使えます。
URL引数というのは→?post_id=ここ
?より後の事です。postIDを取得してtitleやmeta情報などを取得しますので、これらは必須です。

このプラグインは、post_idの値はなに?ってところを求めています。
single.phpとかに大概は複数ページでの利用でしょうから、PHPに直接書くのが楽かと思います。
$post->IDここがページIDの取得ですね。これをもとにほかの情報を取得していきます。

valueに{post_title}を入れる

簡単ですねぇ。

ちなみにここの{title}ってのは件名のnameの{title}になります。

自動返信にタイトルを入れる

自動返信のタイトルの入れ方は通常通りです。

不動産系サイトとかもユーザーの事を考えた良いものができますね!

最後に

ワードプレスってホントに便利ですよねぇ。
これなら、PHPの知識がない人でもできますし、GETとか?ってなる人でも簡単に使えると思います。
この機能は結構便利でいろんなサイトで使えますし、ぜひ使ってみてくださーい。

コードサンプル置いておきます。

■リンクのサンプル

<a href="<?php echo esc_url(home_url('/')); ?>spammail/?post_id=<?php echo $post->ID; ?>">この記事に対するお問い合わせ。</a>

テンプレートファイルではなく、記事編集画面でリンク張る時も同じようにドメイン名/?post_id=00でOKです。
post idは記事編集画面の時のURLにあります。もしくは、パーマリンク設定をデフォルトに戻しても出てきます。
■フォームのサンプル

<table>
<tbody>
<tr>
<th>件名</th>
<td>[mwform_text name="title" id="title" size="50" value="{post_title}"]</td>
</tr>
<tr>
<th>メール</th>
<td>[mwform_email name="mail" id="mail" size="60"]</td>
</tr>
<tr>
<th>Twitter name</th>
<td>[mwform_text name="twi" id="twi" size="60"]</td>
</tr>
<tr>
<th>内容</th>
<td>
[mwform_textarea name="content" cols="50" rows="5"]
</td>
</tr>
</tbody>
</table>
<p>[mwform_submitButton name="btn" confirm_value="確認画面へ" submit_value="送信する"]</p>

MW WP Form開発者サイト


モンキーレンチさんいつも勝手にお世話になっております!

赤ヒツジ先生~コーディングチェック~

このサービスは、コーディングのHTMLチェックではなく、デザイン通りにコーディングできているかをチェックするサービスです。