「WordPressで学ぶPHP(1)変数・制御構造編」が発売されました。
「WordPressで学ぶPHP」シリーズの第1巻で、WordPressを通してPHPを学んでいく本です。
この本では、PHPの基本となる変数と制御構造について解説します。
Kindle本で、定価500円です。
メールフォームプラグインのメールフォームをアーカイブテンプレートに設置する
メールフォームプラグインでは、基本的にはメールフォームを独立したページに入れることを想定しています。
ただ、ブログ記事ごとなど、アーカイブテンプレートにメールフォームを入れたいという場面もあります。
その方法についてご質問をいただきましたので、手順を解説します。
1.メールフォームの設定
インデックステンプレート以外にメールフォームを入れる場合、まずメールフォームの設定を変えます。
メールフォームの設定で、「基本設定」の部分の「メールフォームテンプレート」の欄で「テンプレートを選択してください」を選んで、テンプレートを選択しない状態にします。
なお、「メールフォームテンプレート」以外の欄は、通常のメールフォームと同様の設定にします。
2.メールフォーム用のインデックステンプレートを削除
メールフォーム用のインデックステンプレート(テンプレート名の先頭が「mail_form:」になっているもの)は、必要がなくなります。
そこで、このテンプレートは削除しておきます。
3.テンプレートの書き換え
次に、メールフォーム追加先のアーカイブテンプレートを書き換えます。
まず、アーカイブテンプレートの先頭に以下の行を入れます。
「メールフォームの設定の名前」のところは、実際の設定名に置き換えます。
<$mt:SetVar name="mail_setting" value="メールフォームの設定の名前"$>
また、メールフォームを出力したい位置には、以下の行を追加します。
<$mt:IncludeMailFormCommon$>
4.アーカイブページごとの情報をメールに送信する
ブログ記事ごとにメールフォームを作る場合、送信元のブログ記事のタイトル等をメールの本文に入れたいところです。
その方法については、「メールフォームをブログ記事ごとに設置する(その1)」の記事の「2.メールフォーム共通部分テンプレートの書き換え」と「3.メール本文/返信メールテンプレートの書き換え」の項を参照してください。
また、同じような考え方で、カテゴリアーカイブテンプレート等にメールフォームを入れる時に、アーカイブごとの情報を送信することもできます。