Contact Form 7 「商品名」を自動的にメール本文に追加について

フォーラム テンプレート(テーマ) Contact Form 7 「商品名」を自動的にメール本文に追加について

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • 投稿者
    投稿
  • #81491
    迷いネコ
    参加者

    Welcart Squareを利用しています。
    「お問い合わせボタンのリンク先を、Contact Form 7 で作成したお問い合わせページに設定することで、お問い合わせボタンから問い合わせいただいたメールに限り「商品名」が自動的にメール本文に追加される仕様」とありますが、問い合わせボタンでフォームを開いたときすでに表示される方法はありますか?

    #81522
    yasumax
    キーマスター

    こんにちは。

    カスタマイズを施せば可能です。

    問い合わせページに移動すると、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 入力欄 自動」などで調べると何件か参考サイトがでてきますのでそちらを参考にしていただければと思います。

    #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 のパーマリンク設定:
    ——————————————–

    #81638
    yasumax
    キーマスター

    こんにちは。

    カスタマイズする場合は、少しずつでもいいのでコードを理解していく必要があるかと思います。
    また、どこが悪いのかは1つ1つデバッグしていくしかありません。

    商品名・SKU名を取得する部分で$post_id$skucodeという変数を利用していますが、定義している箇所がありません。
    また、フォームに挿入する部分の記述が見当たりませんのでいくらやっても反映はされません。

    $tag['name']が「●●」と一致した場合、$tag['values']に商品名またはSKU名を挿入するといった形でカスタマイズ挑戦してみてください。

    #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);

    ———————————

    ですが、ダメでした。
    また、他の参考になるサイトを探してみます。

5件の投稿を表示中 - 1 - 5件目 (全5件中)
  • このトピックに返信するにはログインが必要です。