2012/5/23

Contact Form 7で送信時に記事データを編集する

WordPressのContact Form 7は大変便利なプラグインなのですが、あまりこれまでそれをゴニョゴニョカスタマイズしてみたいなことはやって来ていませんでした。

今回ちょっといじったのは、例えば、カウント総数を予め規定している時とかですね。

function wpcf7_count($cf7) {
  $id = wpcf7_special_mail_tag_for_post_data( $output, '_post_id');
  $count = get_post_meta($id,'count',true);
  if($count > 0) {
    $count = $count - 1;
  }
  update_post_meta($id,'count',$count);
}
add_action( 'wpcf7_before_send_mail', 'wpcf7_count' );

フォーラムの情報で助かりました。

WordPress › Support » [Plugin: Contact Form 7] Database entry with form send

これ肝はContact Form 7を設置した記事の投稿IDが、

wpcf7_special_mail_tag_for_post_data( $output, '_post_id');

で拾えるよということですね。記事IDさえ拾えれば後は記事に作ったカウント数からメールが送信するたびに1ずつ引いていけば宜しい。で、メールフォーム側でカウント数を持つのではなく、記事側でカウント数を持つので、表示制御もラクチンだよっと。Contact Form 7のショートコードを、カスタムフィールドに叩き込むような仕様にしておけば良いですよね。

これ結構色々な活用方法がありそうです。なかなか面白かった。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263

加藤 康祐 / 企画・設計

1980年1月12日生まれ。フリーランス歴15年。プランナー、デザイナー。加藤康祐企画設計代表。学生時代にデザイン会社でWebデザインを経験。2005年よりフリーランスとしてキャリアスタート。これまでに個人から上場企業まで、100以上のクライアントとのプロジェクトを経験。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの編集・運営、社会的養護の子どもたちの自立を支援するNPOのサポート等。趣味はラグビーと料理。Keep the head up, Bind tight & Stay low.

加藤康祐企画設計

是非、フォローしてください!
Twitter / Instagram