*

WordPress Contact form 7 送信前に処理を実行する方法

公開日: : 最終更新日:2015/07/09 PHP全般, WordPress全般 ,


7422505072_576a40fa8d_z

WordPressの超有名プラグインContact form 7を利用されている方は多いと思います。かく言う私もこのプラグインの愛好者でWebサイトのお問い合わせページオンラインアンケートなどでよく利用しています。

先日Webサイト内で「ある実行ファイルをダウンロードさせるリンクを張って欲しい」という依頼がありました。単純にダウンロードリンクを設置するだけなら、/wp-content 下にダウンロード用のフォルダを作って、そこに対象の実行ファイルを突っ込めばおしまいです。左手でも2分でできます

今回の場合、ダウンロード可能なのは、『必要事項を申し込んだ人のみ』というしばりがあったため、少し頭をつかったのでその方法をシェアします。

考えた方法は3つです。

1. Allow PHP in Posts and Pages を使う方法

Allow PHP in Posts and Pagesとはpageやpost内にphpを記載できようになるプラグインです。

で囲んだ中にプログラムを記載することができます。普通にphpを書くときの<?><?>に読み替えていただければお思います ただし!特定のタグが勝手に除去されたりするのでデフォルトで利用する場合は動作・表示をよく確認して使用するようにしましょう。私がこの方法を選ばなかった理由はここにあります。もしかしたら可能なのかもしれませんが、if文をつかってsubmitボタンを押したときだけダウンロードリンクを表示させようとしたのですが、どうもうまく動きませんでした。 ↓こんな感じです。 <div style=”background-color:#cfcfcf;padding:10px;margin-bottom:20px”>

if($_POST["xxxx"] != ""){

ダウンロードリンクを記載

}

echo とかは普通に動いているので基本動作は問題なく動いています。私はここで違う方法を探ってしまったので、これ以上の検証はしていませんが、データベースに自作テーブルを作って、そこからダイナミックにページを生成するような処理がしたい人は試してみる価値はあると思います。

2. Contact form 7 のAdditional Settingを使う方法

これはCOntact form 7 のいち機能として備わっているAdditional Settingを使うものです。恥ずかしながらそんなものがあることを知りませんでした。。
2013-10-16 09_32_49-Contact Form 7 ‹ JBS USA Inc

使い方はここをみよ!とあるのですが、いまいち。。。
http://contactform7.com/tracking-form-submissions-with-google-analytics/

ということでいろいろ調べた結果このように記述することがわかりました。こいつをAdditional Settingの中にいれます。

on_sent_ok: “location = ‘http://www.mywebsite.com/mypage’;”

ご覧のとおり、自分のサイトのあるページへリダイレクトしていますそして、これはメール送信ボタンが押下された直後に発動します。このあるページとはつまり、ダウンロードリンクを張ったページです。これを事前につくり、登録してメールを送付した人をこのページへ誘導するという流れです。

よし!これでOK!と思ったのですが、まあURLがわかってしまえば、登録していなくてもそのページを観れてしまいますよね。セッション管理して表示の有無を判断して、、という感じで作りこめば、回避できるのですが、めんどくさがりの私なのでさっさと次の方法を探しに行ってしまいました。

このあたり、つくづくエンジニアに向いていないなぁと感じます。基本、省エネ運転です。

3. Thank you メールを使う

なんでこんなことに気がつかなかったんだ っていう感じですが、やりたいことは、

1、ダウンロードリンクをユーザーに配りたい

2、ダウンロードができるのは登録した人だけ

この2つだけです。これが達成できるならばどんな方法でもいいわけです。

無理にWebで全部やる必要はないのです。

ということでメール送信時に送付されるありがとうメールにダウンロードリンクをいれることにしました。

これで万事解決。1とか2とか試した時間合わせると2時間半。最初からこの方法をとっていれば作業時間15分。回り道をしたもんだ。

(えらそうに)まとめ

プログラムに限らず、問題への解はひとつではないことは日常茶飯事だと思います。今までの慣習や思い込みで自然に選択肢を狭めてしまいがちですが、今一度考え直してみることも重要だと思います。1日置いたり、場所を変えると全く違うアイデアが浮かんだりします。

私は仕事がら、潜在顧客へのpre salesからプログラムの実装・保守までを全部みることが多いのですが、ばか正直に正攻法をとりつづけると自分の首をしめることになります。元日本代表の岡野じゃないですが、自分で出したパスを自分で受け取ることなんてざらです。一人ワンツーです。

この記事の文中に基本、省エネ 運転と書きましたが大マジです。私の頭の中にあるのは、いかに楽してクライアントの要望を満たすか。これに尽きます。あ、ウソをつきました。要望を満たす のではなくて、要望(期待)を少しだけ超えることを考えています。”少しだけ”がミソです。 大きく超えようとうると、時間もかかるし、要求から離れていってしまう可能性があります。 少しだけ超えること。これができると次の営業が格段に楽になります。あいみつとられて、、なんていう面倒なステップをすっとばして自分にどんどん仕事がくるようになります。

えらそうにまとめなんて書いてしまいましたが、生来のなまけものなので、これからも楽をして生きていくつもりです。楽をするための努力ならいくらでもします。

photo:All rights reserved by http://www.flickr.com/photos/millioneyez/

Ads by Google

Ads by Google

関連記事

no image

WordPressの投稿を自動的にFacebookのウォールに書き込む方法

Facebook、Twitterといったソーシャルネットワークサービス(SNS)が浸透している現在、

記事を読む

WordPressでプラグインインストール時にFTPのIDとパスワードを聞かれないようにする方法

WordPressでプラグインをインストールしようとすると、こんな画面画でてFTPサーバのIDと

記事を読む

no image

WordPress colorway テーマのcufonフォントを無効にする方法

WordPressの無料テーマである Colorwayではデフォルトでh1,h2,h3,

記事を読む

no image

Apache バーチャルホストごとに include pathを変更する方法

Apacheでバーチャルホストを使用し複数のサイトを1サーバで管理しているときに便利な機能。 例え

記事を読む

no image

PHP4 でsimplexmlを使う方法

既にいろいろ調べられてここにたどり着いたかたはご存知かと思いますが、 PHP5で使える simple

記事を読む

エックスサーバーのWordPress専用サービス”WPS レンタルサーバー”を使ってみた

私ごとですが、このサイトを含む全てのサイトをAmazon EC2からWPS レンタルサーバー

記事を読む

WordPressサイトを移行したらトップページ以外が404 Page not foundになってしまった場合の対処法

どんなシステムであれ、ホスティングサイトを変更するといろんな不具合がでます。

記事を読む

WordPressをカスタマイズしたい! そんな人が見るべき世界で人気のWPチュートリアルサイト ベスト10!

いまや世界中の個人、法人Webサイトで採用されているWordPressですが、その人気の1つにカス

記事を読む

WordPress  画面下まで行くと横から箱がスライドしてくるプラグインを紹介!

記事を下までみていくと、画面外がらスライドボックスが登場するサイトに遭遇したことはありますか?

記事を読む

no image

2013年アメリカホリデイシーズン ecommerce動向予測

アメリカでは10月から12月にかけてホリデイシーズンと呼ばれる時期に入ります。サンクスギビング、クリ

記事を読む

Ads by Google

Ads by Google

Ads by Google

Ads by Google
新着記事をRSSで受けとる
PAGE TOP ↑