Contact Form7にカスタムフィールドを追加する
参考:http://moralhazard.jp/2011/06/18/contact-form-7%E3%81%AE%E7%89%B9%E5%88%A5%E3%81%AA%E3%83%A1%E3%83%BC%E3%83%AB%E3%82%BF%E3%82%B0%E3%82%92functions-php%E3%81%A7%E8%BF%BD%E5%8A%A0/
フォームタグにカスタムフィールドの値を入れる。
具体的には、カスタムフィールドで「製品番号」(p-number)というカスタムフィールドを作成
→ページ下部のフォームからメールを送信したときに、製品番号を自動で入れる
こんな感じ。
まずはフォームにショートコードを入れる
例)[product_num]
で、functions.phpに以下の記述を追加する
add_filter('wpcf7_special_mail_tags', 'my_special_mail_tags',10,2); function my_special_mail_tags($output, $name) { if ( ! isset( $_POST['_wpcf7_unit_tag'] ) || empty( $_POST['_wpcf7_unit_tag'] ) ) return $output; if ( ! preg_match( '/^wpcf7-f(\d+)-p(\d+)-o(\d+)$/', $_POST['_wpcf7_unit_tag'], $matches ) ) return $output; $post_id = (int) $matches[2]; if ( ! $post = get_post( $post_id ) ) return $output; $name = preg_replace( '/^wpcf7\./', '_', $name ); if ( 'product_num' == $name ) $output = get_post_meta($post->ID,'p-number',true); return $output; }
以上。