趣旨
いつものように、お問い合わせフォームをWordPressに追加しました。
そのサイトは複数の採用の募集要項が掲載されています。
募集要項は、各募集要項詳細ページとして、1募集要項に対し1ページです。
フォームは共通で1つ作成していました。
そうすると、応募があっても、どの採用に応募があったのかがわからない状態です。
応募者に、どの求人情報に応募するのか記述してもらう欄を設けるのも一つですが、
いちいち入力するのでは、フォームからの離脱にも繋がります。
そこで、自動的に、どの求人に応募するのか入力される仕組みを作ろうと思います。
アイデア
アイデアとしては単純で、フォーム画面の直前に見ていたページ情報を取得して、
送信される応募内容にページタイトルと、URLが記載されていれば良いと考えました。
応募ボタンは、ヘッダと各募集要項詳細ページ内どちらにもありますが、
これならどこをクリックしたとしても、直前の情報を取得することができます。
また、各募集要項詳細ページではない、トップページからのお問い合わせなどの場合でも、
正常に動作することができるはずです。
結果
うまくいきました。
表面
↓
「お問い合わせはこちら」をクリック
↓
フォームに引き継がれました。
裏側の動作としては、
【1】「お問い合わせ」ボタンをクリック
↓
【2】直前のタイトルとURLをURLの後ろにくっつけて、
パラメーターとして送信↓
【3】コンタクトフォーム7の項目で(2)の情報を取得
↓
【4】コンタクトフォーム7で送信
という手順です。
手順
(1)まず、「Post Snippets」というプラグインをインストールします。
このプラグインについては下記に使い方などの詳しい紹介がなされているので、確認してみてください。
このプラグインで、【2】を実現します。
URLの後ろに、ページのタイトルとURL情報をパラメーターとしてつけるには、
PHPを書く必要があります。
上記を踏まえて、下記の問題を解決するためのプラグインです。
固定ページの途中や、WordPressのカスタマイズ機能で作成しているヘッダーなどに、PHPを直接書くことができない。
このボタンを複数の場所で使いまわしたいので、共通化(パーツ化)して、ショートコードで取り扱えるようにしたい。
(2)「Post Snippets」をインストール後、ボタンパーツを作成していきます。
[ Add New Snippet ] をクリックし、新しいショートコードを追加します。
任意のタイトルをつけます。半角英数字が望ましいです。
(ここでは、「contact_get_url 」としています。)
echo ‘<a href=”[フォームのURL]?title=’ .get_the_title(). ‘&url=’ .get_the_permalink(). ‘”><button>お問い合わせはこちら</button></a>’;
上記のように、記載します。
「Shotcode」と、「PHP Code」にチェックを入れ、
[ Save ] をクリックして完了です。
もし、異なるデザインや文字のボタンが存在している場合は、新規作成して複数作成することができます。
(3)後は、ボタンを設置したいところに、ショートコードを記載します。
[contact_get_url]
タイトルがショートコードとなります。半角のカッコでくくります。
例えば、ヘッダーを記述する箇所に利用する場合:
管理画面
表面
(4)WordPressプラグイン「Contact form 7」をカスタマイズします。
インストールしていない人は下記を参考にすると良いです。
作成したフォームに下記の記述を追加します。(メール側にも記述します。)
フォーム側
<label> ご希望の求人/お問い合わせ直前ページ(タイトル)
[text title default:get readonly]</label>
<label> ご希望の求人/お問い合わせ直前ページ(URL)
[text url default:get readonly]</label>
メール側
ご希望の求人/お問い合わせ直前ページ:
[title]
[url]
保存をして、作業は完了です。
(5)実際テストしてみましょう
↓
「お問い合わせはこちら」をクリック
↓
フォームに引き継がれ、送信完了メールにも記載されました。
うまくいきましたか?意外とこの方法をズバリ書いているブログがなかったので、お役に立てれば幸いです!