メールフォームプラグインのメールフォームをアーカイブテンプレートに設置する

メールフォームプラグインでは、基本的にはメールフォームを独立したページに入れることを想定しています。
ただ、ブログ記事ごとなど、アーカイブテンプレートにメールフォームを入れたいという場面もあります。
その方法についてご質問をいただきましたので、手順を解説します。

1.メールフォームの設定

インデックステンプレート以外にメールフォームを入れる場合、まずメールフォームの設定を変えます。
メールフォームの設定で、「基本設定」の部分の「メールフォームテンプレート」の欄で「テンプレートを選択してください」を選んで、テンプレートを選択しない状態にします。

アーカイブテンプレート用のメールフォームの設定

なお、「メールフォームテンプレート」以外の欄は、通常のメールフォームと同様の設定にします。

2.メールフォーム用のインデックステンプレートを削除

メールフォーム用のインデックステンプレート(テンプレート名の先頭が「mail_form:」になっているもの)は、必要がなくなります。
そこで、このテンプレートは削除しておきます。

3.テンプレートの書き換え

次に、メールフォーム追加先のアーカイブテンプレートを書き換えます。

まず、アーカイブテンプレートの先頭に以下の行を入れます。
「メールフォームの設定の名前」のところは、実際の設定名に置き換えます。

<$mt:SetVar name="mail_setting" value="メールフォームの設定の名前"$>

また、メールフォームを出力したい位置には、以下の行を追加します。

<$mt:IncludeMailFormCommon$>

4.アーカイブページごとの情報をメールに送信する

ブログ記事ごとにメールフォームを作る場合、送信元のブログ記事のタイトル等をメールの本文に入れたいところです。
その方法については、「メールフォームをブログ記事ごとに設置する(その1)」の記事の「2.メールフォーム共通部分テンプレートの書き換え」と「3.メール本文/返信メールテンプレートの書き換え」の項を参照してください。

また、同じような考え方で、カテゴリアーカイブテンプレート等にメールフォームを入れる時に、アーカイブごとの情報を送信することもできます。