
WordPressのContact Form 7のwpcf7_special_mail_tagsを利用して
total、product01_count、product02_count、product03_countの4つを追加しています。
php
1function my_special_mail_tags($output, $name, $html){ 2 3 if ('total' == $name) { 4 $submission = WPCF7_Submission::get_instance(); 5 $data = $submission -> get_posted_data(); 6 $count1_1 = $data['your-product01-count1']; 7 $count1_2 = $data['your-product01-count2']; 8 $count1_3 = $data['your-product01-count3']; 9 $count1 = $count1_1 + $count1_2 + $count1_3; 10 $count2_1 = $data['your-product02-count1']; 11 $count2_2 = $data['your-product02-count2']; 12 $count2_3 = $data['your-product02-count3']; 13 $count2 = $count2_1 + $count2_2 + $count2_3; 14 $count3_1 = $data['your-product03-count1']; 15 $count3_2 = $data['your-product03-count2']; 16 $count3_3 = $data['your-product03-count3']; 17 $count3 = $count3_1 + $count3_2 + $count3_3; 18 $ret = number_format($count1*25000 + $count2*18300 + $count3*15500); 19 return $ret; 20 } 21 22 if ('product01_count' == $name) { 23 $submission = WPCF7_Submission::get_instance(); 24 $data = $submission -> get_posted_data(); 25 $count1 = $data['your-product01-count1']; 26 $count2 = $data['your-product01-count2']; 27 $count3 = $data['your-product01-count3']; 28 $ret = $count1 + $count2 + $count3; 29 return $ret; 30 } 31 32 if ('product02_count' == $name) { 33 $submission = WPCF7_Submission::get_instance(); 34 $data = $submission -> get_posted_data(); 35 $count1 = $data['your-product02-count1']; 36 $count2 = $data['your-product02-count2']; 37 $count3 = $data['your-product02-count3']; 38 $ret = $count1 + $count2 + $count3; 39 return $ret; 40 } 41 42 if ('product03_count' == $name) { 43 $submission = WPCF7_Submission::get_instance(); 44 $data = $submission -> get_posted_data(); 45 $count1 = $data['your-product03-count1']; 46 $count2 = $data['your-product03-count2']; 47 $count3 = $data['your-product03-count3']; 48 $ret = $count1 + $count2 + $count3; 49 return $ret; 50 } 51 52} 53 54add_filter('wpcf7_special_mail_tags', 'my_special_mail_tags', 10, 3); 55
これによって、商品の注文個数と金額を計算しています。
個数が1個以上ある場合には、きちんとフックしてくれるのですが、個数が0個の場合にはなぜかフックせずにタグがそのまま表示されてしまいます。
0個の場合にもきちんとフックさせるにはどのような方法が必要でしょうか?

https://ja.wordpress.org/support/topic/wpcf7_special_mail_tags-%e3%81%8c%e3%83%95%e3%83%83%e3%82%af%e3%81%97%e3%81%a6%e3%81%8f%e3%82%8c%e3%81%aa%e3%81%84%e3%80%82/ マルチポストです。teratailのヘルプのご確認をお願いします。https://teratail.com/help#posted-otherservice
マルチポストは非推奨なのですね。失礼しました。急いでいたもので、WPのコミュニティとこちらと両方に投稿させていただきました。

回答1件
あなたの回答
tips
プレビュー