CF7とWooCommerceを使用して商品名をフォームフィールドに渡す方法


  1. CF7フォームの作成: まず、CF7プラグインをインストールし、WordPressの管理画面から新しいフォームを作成します。必要なフィールドを追加し、フォームを設定します。

  2. WooCommerceに商品名フィールドを追加: WooCommerceの設定ページに移動し、商品編集画面を開きます。商品名を表示するためのカスタムフィールドを追加します。カスタムフィールドのキーは、後で使用するために覚えておいてください。

  3. CF7フォームに商品名フィールドを追加: CF7フォームの編集画面に移動し、商品名を表示するためのフォームフィールドを追加します。このフィールドは、前の手順で作成したカスタムフィールドと同じキーを持つ必要があります。たとえば、カスタムフィールドのキーが「product_name」であれば、CF7フォームのフィールドに「[text product_name]」と入力します。

  4. 関数を追加: functions.phpファイルに以下のコードを追加します。

function woocommerce_add_product_name_to_cf7_form($tag, $unused) {
    if ($tag['name'] !== 'product_name')
        return $tag;
    global $product;
    if (!$product)
        return $tag;
    $product_name = $product->get_name();
    $tag['values'] = array($product_name);
    return $tag;
}
add_filter('wpcf7_form_tag', 'woocommerce_add_product_name_to_cf7_form', 10, 2);

この関数は、CF7フォームの商品名フィールドをWooCommerceの商品名に自動的に置き換えます。

  1. フォームを表示: CF7フォームを表示するページまたは投稿に移動し、商品名フィールドが正しく表示されることを確認します。フォームが正常に送信されると、商品名はフォームフィールドに渡されます。