プラグインを追加する
お問い合わせページの作成には、WordPressで広く使われている「Contact Form 7」というプラグインを導入します。ページの本文に直接文章を書き込む必要はありません。プラグインから生成される専用のコード(ショートコード)を貼り付けるだけで、簡単にお問い合わせフォームを表示できます。
Contact Form 7の導入
プラグイン ▶︎「プラグインを追加」を参照します。「プラグインの検索」に「Contact Form 7」と入力しインストール後「有効」に設定します。有効にするとサイドに「お問い合わせ」という項目が増えます。


Contact Form7は、簡単にお問い合わせフォームを作ることができます。設定を確認してみましょう。


フォームのテンプレート
フォームのテンプレートを編集します。▶︎ 公式サイトを、参照する。

それぞれフォームによるコントロールは、以下のようになっています。
text
[text your-name]= 1行入力欄= <input type="text">
[text* your-name]=* は必須入力。未入力では送信できない
email
[email your-email]=メール形式専用。
[textarea your-message]=複数行入力。<textarea>
<label> お名前
[text* your-name]
</label>
<label> メールアドレス
[email* your-email]
</label>
<label> 題名
[text your-subject]
</label>
<label> メッセージ本文
[textarea your-message]
</label>
[submit "送信"]フォーム
実際の完成フォームを見ながら、以下のように、項目を増やしていきます。

<div class="contact-form">
<label>お名前 <span class="required">必須</span>
[text* your-name autocomplete:name placeholder "山田 太郎"]
</label>
<label>メールアドレス <span class="required">必須</span>
[email* your-email autocomplete:email placeholder "sample@example.com"]
</label>
<label>電話番号 <span class="optional">任意</span>
[tel your-tel autocomplete:tel placeholder "090-0000-0000"]
</label>
<label>会社名 <span class="optional">任意</span>
[text your-company placeholder "株式会社〇〇"]
</label>
<label>お問い合わせ種別 <span class="required">必須</span>
[select* your-type include_blank "制作のご相談" "お見積もり" "講座について" "その他"]
</label>
<label>希望納期 <span class="optional">任意</span>
[date your-date]
</label>
<label>参考サイトURL <span class="optional">任意</span>
[url your-url placeholder "https://example.com"]
</label>
<label>ご用件 <span class="required">必須</span>
[textarea* your-message placeholder "お問い合わせ内容をご入力ください"]
</label>
<div class="privacy-check">
[acceptance your-acceptance] プライバシーポリシーに同意します [/acceptance]
</div>
<div class="submit-wrap">
[submit "送信する"]
</div>
</div>ショートコードを貼る
フォーム保存後、ショートコードが表示されますのでそのまま固定ページに貼ってください。

送信元と送信先
Contact Form 7を設定する際、初心者が最も戸惑いやすいのが「送信元(From)」と「送信先(To)」です。特に、
「問い合わせした人のメールアドレスを、送信元に書けばいいんじゃないの?」
と思いやすいのですが、現在はそれを行うとエラーや迷惑メール判定の原因になることがあります。それぞれの役割を整理しましょう。
| 項目 | 役割 |
|---|---|
| 送信元(From) | このサイトから送信された、というアドレス |
| 送信先(To) | 実際にメールを受け取るアドレス |
また、問い合わせした相手へ返信できるようにするため、追加ヘッダーへ以下を設定することが一般的です。
Reply-To: [your-email]
これにより、「返信」ボタンを押した際、フォーム入力者のメールアドレス宛に返信できるようになります。現在は迷惑メール対策が厳しくなっており、サイトドメインと異なるメールアドレスを送信元にすると、警告が表示されることがあります。そのため、
「送信元はサイトドメイン」
「送信先は実際に受け取るメールアドレス」
と覚えておくと理解しやすいでしょう。
スタイルシート
コンタクトフォーム専用のスタイルを追加します。
/* =========================
お問い合わせフォーム Contact Form 7
========================= */
.contact-form {
max-width: 1200px;
margin: 0 auto;
padding: 40px;
background: #fff;
border-radius: 16px;
}
.contact-form label {
display: block;
margin-bottom: 24px;
font-weight: 700;
line-height: 1.6;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
width: 100%;
margin-top: 8px;
padding: 14px 16px;
border: 1px solid #ccc;
border-radius: 8px;
background: #fafafa;
font-size: 16px;
line-height: 1.6;
}
.contact-form textarea {
min-height: 180px;
resize: vertical;
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
outline: none;
border-color: #333;
background: #fff;
}
.required,
.optional {
display: inline-block;
margin-left: 8px;
padding: 2px 8px;
border-radius: 999px;
font-size: 12px;
font-weight: 700;
}
.required {
background: #2F2A8B;
color: #fff;
}
.optional {
background: #eee;
color: #555;
}
.privacy-check {
margin: 32px 0 24px;
font-size: 14px;
}
.privacy-check label {
margin-bottom: 0;
font-weight: 400;
}
.privacy-check input {
width: auto;
margin-right: 8px;
}
.submit-wrap {
text-align: center;
}
.contact-form input[type="submit"] {
width: auto;
min-width: 220px;
padding: 16px 40px;
border: none;
border-radius: 999px;
background: #2F2A8B;
color: #fff;
font-weight: 700;
cursor: pointer;
transition: opacity .3s ease;
}
.contact-form input[type="submit"]:hover {
opacity: .75;
}
.privacy-check label {
display: flex;
align-items: center;
gap: 8px;
}
.privacy-check input[type="checkbox"] {
margin: 0;
}
/* =========================
Contact Form 7 メッセージ
========================= */
.wpcf7-not-valid-tip {
margin-top: 6px;
font-size: 13px;
color: #c00;
}
.wpcf7-response-output {
margin: 24px 0 0;
padding: 16px;
border-radius: 8px;
font-size: 14px;
}
@media (max-width: 768px) {
/* =========================
Contact Form 7
========================= */
.contact-form {
padding: 24px;
border-radius: 12px;
}
.contact-form input[type="submit"] {
width: 100%;
}