Contact Form 7 「商品名」を自動的にメール本文に追加について
フォーラム › テンプレート(テーマ) › Contact Form 7 「商品名」を自動的にメール本文に追加について
-
投稿者投稿
-
2016年12月17日 6:11 PM #81491迷いネコ参加者
Welcart Squareを利用しています。
「お問い合わせボタンのリンク先を、Contact Form 7 で作成したお問い合わせページに設定することで、お問い合わせボタンから問い合わせいただいたメールに限り「商品名」が自動的にメール本文に追加される仕様」とありますが、問い合わせボタンでフォームを開いたときすでに表示される方法はありますか?2016年12月20日 5:21 PM #81522yasumaxキーマスターこんにちは。
カスタマイズを施せば可能です。
問い合わせページに移動すると、URLに商品の「postID」と「SKUコード」が含まれているのを確認できます。
「$_GET
」を利用して「postID」「SKUコード」を取得できれば、商品名・SKU名を導き出すことができます。商品名・SKU名は、global変数「
$usces
」を宣言してからそれぞれ以下のように取得してください。
商品名 :$usces->getItemName(【post_id】)
SKU名 :$usces->getItemSkuDisp(【post_id】,【skucode】)
商品名・SKU名取得については、「Welcart Square」の「inc>front-customized.php」の310行目辺りにある「Contact Form 7」の記述を参考にしてください。ここまで取得できたら、あとはContact Form 7側のカスタマイズになります。
「Contact Form 7 入力欄 自動」などで調べると何件か参考サイトがでてきますのでそちらを参考にしていただければと思います。2016年12月23日 3:49 PM #81580迷いネコ参加者お世話になっております。
http://pedal-blog.2-d.jp/contactform7-title/
こちらのサイトさんを参考にしてfunctions.phpに
以下の記述を追加しました。——————–
function my_form_tag_filter($tag){
if ( ! is_array( $tag ) )
return $tag;if ( isset( $_GET[‘postID’] ) ) {
$name = $tag[‘name’];
if ( $name == ‘event-title’ ) {
$usces->getItemName($post_id);
$usces->getItemSkuDisp($post_id, $skucode);
}
}
return $tag;
}
add_filter(‘wpcf7_form_tag’, ‘my_form_tag_filter’, 11);
——————–また、「Contact Form 7」側で
上記のタグをフォームに追加しましたが、商品ページの
売り切れになった商品の“この商品に関するお問い合わせ”ボタンをクリックしても
問い合わせフォームには反映されません。
どこが悪いのでしょうか?——————————————-
WordPress のバージョン:4.7
Welcart のバージョン:1.9.0
ご利用のテーマ:welcart_basic-square
症状を確認したブラウザ:Chrome
サーバー(会社名、サービス名):Xserver
SSLの利用:有り
WordPress のパーマリンク設定:
——————————————–2016年12月28日 9:48 AM #81638yasumaxキーマスターこんにちは。
カスタマイズする場合は、少しずつでもいいのでコードを理解していく必要があるかと思います。
また、どこが悪いのかは1つ1つデバッグしていくしかありません。商品名・SKU名を取得する部分で
$post_id
$skucode
という変数を利用していますが、定義している箇所がありません。
また、フォームに挿入する部分の記述が見当たりませんのでいくらやっても反映はされません。$tag['name']
が「●●」と一致した場合、$tag['values']
に商品名またはSKU名を挿入するといった形でカスタマイズ挑戦してみてください。2016年12月30日 6:28 PM #81657迷いネコ参加者いろいろやってみましたが、今のところ未解決です。
再度、上記のサイトさんと今までのご教授を参考にいろいろやってみました。
———————–
「Contact Form 7」側の編集で、フォームに
[text event-title]
を半角で追加しました。また、functions.phpに以下の記述を追加しました。
function my_form_tag_filter($tag){ if ( ! is_array( $tag ) ) return $tag; if ( isset( $_GET['postID'] ) ) { $name = $tag['name']; if ( $name == 'event-title' ) { $postID = $_GET['postID']; $tag['values'] = (array) $usces->getItemName($post_id); $tag['values'] = (array) $usces->getItemSkuDisp($post_id, $skucode); } } return $tag; } add_filter('wpcf7_form_tag', 'my_form_tag_filter', 11);
———————————
ですが、ダメでした。
また、他の参考になるサイトを探してみます。 -
投稿者投稿
- このトピックに返信するにはログインが必要です。