Pirate Formsプラグイン ~WordPress~ | そう備忘録

Pirate Formsプラグイン ~WordPress~

Pirate Formsとは

Pirate Formsは閲覧者からの問い合わせを受け付けるコンタクト・フォームを作成する為のWordPressのプラグイン。

VM環境にHestiaテーマをインストールした時におすすめ設定で表示されたので試してみる事にした。

Pirate Formsプラグインの備忘録として書いておく。

ちなみにこのブログのお問い合わせフォームはCONTACT form 7をインストールして使っている。

下記はHestiaでので問い合わせフォーム(Pirate Forms)

Hestiaでの連絡フォーム例

CONTACT form 7との違い

Pirate Formsをインストールして一通り使ってみてCONTACT Form 7との違い、というか感想。

  • 無償版同士だとCONTACT Form 7の方が細かい設定が出来たりカスタムフィールドが追加出来たりする
  • Pirate Formsの方はシンプルで分かりやすい。必要な機能が過不足なく揃っている
  • SMTP送信がプラグイン内で設定できるのはPirate Forms。CONTACT Form 7は別プラグインをインストールした
  • Pirate Formsは問い合わせフォームに入力した問い合わせ者の情報をデータベース化したり他のメール送信アプリと連携(有償)ができる。より企業利用をイメージしている
  • CONTACT Form 7の方がエラーメッセージを細かく設定できる。Pirate Formsはとにかくシンプル

インストール

インストールと有効化は前述のHestiaの記事を参照。

テーマをインストールした時にHestiaのおすすめ設定で表示されたので「インストールと有効化」ボタンを押すとWordPressのメニューにPirate Formsのメニューが表示されるようになる。

普通にプラグインー>新規追加でPirate Formsを検索してインストールもできるはず。

PirateFormsメニュー

Settings

How to useタブ

使用方法について記述しているページ。

How to useタブ

新しくフォームを作成するには以下の3つ方法がある

  1. ウィジェットを追加する
  2. 任意のページまたは投稿にショートコード[pirate_forms]を記述する
  3. テーマのファイルにショートコード<?php echo do_shortcode( ‘[pirate_forms]’ ) ?>を記述する

Hestiaの連絡先セクション(コンタクト・フォーム)はデフォルトでPirate Formsを使用する仕様になっているので、(Hestia)テーマー>カスタマイズー>フロントページセクションー>連絡先セクションー>連絡先の本文

で設定メニューを表示させるとデフォルトでショートコードが設定されている。下記参照

その他のテーマを使用している時は上記1~3の方法でPirate Formsを使用する(のだと思う)

Hestiaの連絡先セクション

また赤字で注意書きで何やら書いてあった。

要はSMTP以外の構成を使用してる時は迷惑メールフォルダに入ったりメールが失われたりするのでシステム管理者に相談するかSMTP構成にして下さい、との事。

元々SMTP構成にしようと思っていたので問題なし。

Options

Options設定

Contact notification email address

送信元のe-mailアドレスを指定する

閲覧者が問い合わせフォームで問い合わせ入力を行うと、このメールアドレスからメールが届くことになる

注意書きに「このメールアドレスのドメインはサイトのドメインと一致する必要があります」とあるがgmailアドレスを指定して”アクティビティを確認”(後述)を行った所、問題なく問い合わせメールが送信されたので必ずしも一致していなくても良い模様

Contact submission recipients

送信先(問い合わせを受け取る)メールアドレス

カンマで区切って複数のメールアドレスを指定する事ができる

上記の送信元と同じメールアドレスを指定した

Store submissions in the database

チェックをすると問い合わせ内容がデータベースに保存される

保存された問い合わせはWordPressメニューのPirate Formsー>All Entriesで確認することができる(詳細は後述

またGDPR(General Data Protection Regulation:EU一般データ保護規則)によると、問い合わせ内容の保存についてユーザに同意を求めることを推奨する、とあった

Track and store IP of user

チェックをすると問い合わせフォーム入力者のIPをトラックしてメールコンテンツ内に表示する

上記のデータベースへの保存と同様GDPRによるとユーザに同意を求めることを推奨とあった

問い合わせメール例)

IP search欄に問い合わせフォーム入力者のIP Addressが表示されている

Pirate Forms問い合わせメール例

Add a nonce to the contact form

チェックをすると問い合わせフォームにWordPress nonce※が使用される(デフォルトでチェックされている)

nonceを使用すると存在チェックが行われるのでスパムを減らす事ができる一方、ページをキャッシュするプラグインを使っているサイトでは問題を起こすことがあるので、”Nonce failed!”でエラーになるとの苦情を受け取っている時はOFFにせよ、とあった

※nonceは(CSRF:Cross-site Request Forgery)対策の為の、一度だけ使用される数値

hiddenフィールドに推測困難な数値を埋め込んで本人以外の捏造したHTTPリクエストを受け付ない様にする仕組み

ちなみにWordPress nonceは数値では無く数値と英字を使ったハッシュで無効になるまでの有効期間をもっており、期間内であれば何回でも使用される所がnonceとは若干異なる(セキュリティ上の要件は同じなのでnonceと名乗っている模様)

Send email confirmation to form submitter

テキスト欄に入力をすると問い合わせフォーム入力者(フォームに入力したメールアドレス)に確認メールが送信される

件名はAlert MessagesタブのSuccessful form submission text欄が使われる

Alert Messagesー>Successful form submission text

確認メール本文欄

Send email confirmation to form submitter

下記のメールが問い合わせフォーム入力者に送られる

確認メール

尚、HTMLは記述できない

Add copy of mail to confirmation email

チェックをすると上記の確認メールに問い合わせ時のフォームに入力した項目が追記(コピー)される

上記の”Send email confirmation to form submitter”にテキストが入力されている時(問い合わせフォーム入力者に確認メールが送信される時)のみ有効

チェックをした時の問い合わせフォーム入力者に送信されたメール

問い合わせ項目をコピー

Save Attachment?

問い合わせフォームでファイル添付項目が有効(デフォルトでは非表示)な時のオプション

チェックをすると添付ファイルが保存される、とあるが受信メールにはチェックの可否に関わらずファイルが添付されている

チェックをすると「メディア」に添付ファイルが保存されるのかと思ったのだがそうでもないみたい

イマイチよく分からなかった

Success Page

フォームの送信が成功した時に表示されるページを指定する

NONE(無し)、固定ページから選択することができる

問い合わせフォーム送信成功ページ

Integrate with Akismet?

チェックをするとAkismetプラグインと連携する

Akismetが迷惑メールかどうかを判断してスパムメールをフィルタリングしてくれる

Akismetを有効にしておく必要がある

Fields Settings

項目の表示、非表示、必須の設定

Fields Settingsタブ

項目

以下の項目について

  • Name(名前)
  • Email address(メールアドレス)
  • Subject(件名)
  • Message(本文)
  • Attachment(添付ファイル)
  • Checkbox(チェックボック)※

下記の3パターンから選択する

  1. Do not display(非表示)
  2. Display but not required(表示だが必須では無い)
  3. Required(必須項目・表示)

表示項目

※CheckboxはFields Labelsタブでチェックボックの項目を登録すると表示されるようになる

下記、checkboxの入力例

Checkbox

Add a spam trap

スパムメール対策

  1. No
  2. Custom
  3. Google reCAPTCHA

から選択可能

Customの使い方はイマイチ分からなかった

Google reCAPTCHAはGoogleが提供している「ボットからサイトを守る」ための仕組み

詳細はContact Form 7でreCAPTCHAを使ってみた時の記事を参照

上記の記事の時に所得したSite keyとSecret keyを試しに設定してみたが当たり前だがVM環境(localhost)なので機能しなかった

souichi.clubドメインで設定すれば正しく表示されてスパムを防いでくれる(はず)

reCAPTCHAの設定

Fields Labels

項目のラベルを設定する。

Fields Labels設定

日本語ラベル

Name、Email、Subject、Message、Submit button

左記の項目の表示ラベルが設定できる

日本語も設定可能

Checkbox

チェックボックの文言

この項目に入力してFields SettingsでDisplay but not requiredかRequiredを選択するとチェックボックが表示される

Email content

受信メールのレイアウトの設定

以下のタグが指定可能

{name}: Your Name
{email}: Your Email
{subject}: Subject
{message}: Your message
{checkbox}: Checkbox
{attachments}: Attachment(s)
{ip}: IP address
{referer}: Came from
{permalink}: Sent from page

Alert Messages

エラーメッセージや確認メールの件名などを指定する。

下記、メッセージを日本語に変えてみた例

Alert Messages設定

Name required and missing

Name(名前)が必須にも関わらず未入力の時に表示されるメッセージ

名前未入力時のエラーメッセージ

E-mail required and missing

E-mail(メールアドレス)が必須にも関わらず未入力の時に表示されるメッセージ

Subject required and missing

Subject(件名)が必須にも関わらず未入力の時に表示されるメッセージ

Question/comment is missing

Message(本文)が必須にも関わらず未入力の時に表示されるメッセージ

Attachment is missing

Attachment(添付ファイル)が必須にも関わらず未入力の時に表示されるメッセージ

Checkbox is not checked

Checkbox (チェックボック)が必須にも関わらず未入力の時に表示されるメッセージ

Successful form submission text

確認メールの件名(前述

SMTP

SMTPの設定、gmailを設定した時の例

SMTP設定

Use SMTP to send emails?

チェックをするとPHPメールの代わりにSMTPを使用する

SMTP Host

”smtp.gmail.com”

を指定した

SMTP Port

587

を指定した

Use SMTP Authentication?

チェックをするとSMTP認証を行う

Security?

セキュリティ

  • No
  • SSL
  • TLS

が選択可能。TLSを選択した

SMTP Username

メールアドレス(gmailの場合)

SMTP Password

パスワード

Send Test Email

テストメールを送信する

アクティビティの確認

テストメールを送信するとgmailの場合、初回は「アクティビティの確認」を求められた。

セキュリティ通知が来たので「アクティビティを確認」

セキュリティ通知

ログインに心あたりがあるので「はい」をクリック

アクティビティに心当たりがある

設定が完了

設定が完了

More Features

有料版の紹介

有料版にすると複数のドメイン、カスタムフィールド、MailChimp等との連携が可能になる

  1. PERSONAL
  2. BUSINESS
  3. AGENCY

の3パターンが存在する。

All Entries

前述のStore submissions in the databaseにチェックをすると問い合わせ履歴が保存される。

All Entriesで保存された問い合わせを参照することができる。

一覧画面

All Entries一覧画面

明細画面

All Entries 詳細

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

おすすめ

質問やコメントや励ましの言葉などを残す

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。