2017-05-04 17 views
0

私はWooCommerce機能を備えたWordPress Webサイトで作業しています。私は2つのカスタムフィールドを作成しているWooCommerce製品ページにカスタムテキストボックスを作成するにはどうすればよいですか?

、商品詳細ページのバックエンド内の製品データボックスで、次のコードを使用して:woocommerce_wp_checkboxを参照する

<?php 
function theme_name_woocommerce_custom_fields() { 
    // Price Per Character 
    woocommerce_wp_text_input( 
     array(
      'id'   => '_character_price', 
      'label'  => 'Price Per Character', 
      'description' => 'This is the amount a customer pays per letter entered.', 
      'desc_tip' => 'true', 
      'placeholder' => 'Enter Amount per Letter (Exclude the £)' 
     ) 
    ); 
    // Custom Text Box 
    woocommerce_wp_checkbox(
     array(
      'id'   => '_custom_text_box', 
      'label'  => 'Show Custom Text Box', 
      'description' => 'Select this box, if you would like a Custom Text Box to appear on the Product's page.', 
      'desc_tip' => 'true', 
     ) 
    ); 
} 
add_action('woocommerce_product_options_general_product_data', 'theme_name_woocommerce_custom_fields'); 

function save_theme_name_woocommerce_custom_field($post_id) { 
    if (! empty($_POST['_custom_text_field'])) { 
     update_post_meta($post_id, '_custom_text_field', esc_attr($_POST['_custom_text_field'])); 
    } 
} 
add_action('woocommerce_process_product_meta', 'save_theme_name_woocommerce_custom_fields'); 
?> 

を、私は機能することによりを作成したいですこのチェックボックスをオンにすると、関連する製品のページにカスタムテキストボックスが作成されます。このカスタムテキストボックスは、潜在的な顧客がページの製品に印刷したいテキストを入力するために使用することができます。

は、私が言った目標を達成するために、入力する必要があるだろうコーディングのどのような追加部分を認識して誰ですか?

答えて

1

あなたは、単純な/変数製品のテンプレートファイルを上書きし、そこにカスタムフィールドを追加することができます。チェックボックスがオンになっている場合のみ、テキストボックスの表示/非表示のロジックを維持します。

カートに追加して行われ、あなたは、POST中のすべてのポストされたデータを取得します。そこから掴んで、woocommerceのオブジェクトに入れます。

============================================== ========= 編集:あなたは、この手順を実行することができます

  1. コピーwoocommerce /テンプレート/単一製品/アドオンに-カート/ variable.phpこのテンプレートへあなたの子供のテーマをカスタマイズしてください。そこにフォームタグが表示されます。そこでは、あなたが作成したカスタムチェックボックス(管理者から追加したもの)を置くことができます。また、カスタムテキストボックス(ユーザーがテキストを入力する)を追加し、非表示にします。

  2. のfunctions.phpからカスタムJSを追加します。 - このjsでは、チェックボックスがオンの場合はテキストボックスを表示し、そうでない場合はロジックを記述できます。今

  3. 、ユーザーがカートに追加しない、woocommerceオブジェクトにこのカスタムテキストボックスのデータを追加します。 woocommerceオブジェクトにカスタムデータを入力する方法 - あなたはここでステップの詳細でステップを持つことができます。

+0

https://wisdmlabs.com/blog/add-custom-data-woocommerce-order/は、ご返信いただきありがとうございます。潜在的な顧客が自分のテキストを入力できるようにするために、これはどのように製品ページにテキストボックスを作成しますか? – Craig

+0

単一製品/ add-to-cart/variable.phpが表示されている場合は、そこにformタグがあります。これはsimple.phpにも当てはまります。通常のHTML入力コントロールであるテキストボックスを追加するだけです。そしてカスタムjsを追加して表示/非表示にします –

+0

チェックボックスをオンにすると、テキストボックスが表示されるように設定できますか? – Craig

関連する問題