2017-06-04 15 views
0

私は、単一の製品と変数の製品(カスタムフィールド価格は選択された変数のオプションに応じて変更する必要があります)でWoo-commerce(プラグインには興味がありません)でカスタムフィールドを作成しようとしています1 stのように価格を入力し、お客様がオプションを確認することができます。WordpressのWoocommerceのカスタムフィールド

マイ要件

// Display Fields 
add_action('woocommerce_product_options_general_product_data', 'woocom_general_product_data_custom_field'); 

function woocom_general_product_data_custom_field() { 
    // Create a custom text field 

    // Text Field 
    woocommerce_wp_text_input( 
    array( 
     'id' => '_text_field', 
     'label' => __('Enter your choose', 'woocommerce'), 
     'placeholder' => 'Custom text field', 
     'desc_tip' => 'true', 
     'description' => __('Enter the custom value here.', 'woocommerce') 
    ) 
); 

    // Number Field 
    woocommerce_wp_text_input( 
    array( 
     'id' => '_number_field', 
     'label' => __('Enter your number', 'woocommerce'), 
     'placeholder' => '', 
     'description' => __('Enter the custom value here.', 'woocommerce'), 
     'type' => 'number', 
     'custom_attributes' => array(
     'step' => 'any', 
     'min' => '15' 
    ) 
    ) 
); 

    // Checkbox 
    woocommerce_wp_checkbox( 
    array( 
     'id' => '_checkbox', 
     'label' => __('Select', 'woocommerce'), 
     'description' => __('Check me!', 'woocommerce') 
    ) 
); 

    // Select 
    woocommerce_wp_select( 
    array( 
     'id' => '_select', 
     'label' => __('option', 'woocommerce'), 
     'options' => array(
     '1' => __('Custom Option 1', 'woocommerce'), 
     '2' => __('Custom Option 2', 'woocommerce'), 
     '3' => __('Custom Option 3', 'woocommerce') 
    ) 
    ) 
); 

    // Textarea 
    woocommerce_wp_textarea_input( 
    array( 
     'id' => '_textarea', 
     'label' => __('Description', 'woocommerce'), 
     'placeholder' => '', 
     'description' => __('Enter the custom value here.', 'woocommerce') 
    ) 
); 

} 

// Hook to save the data value from the custom fields 
add_action('woocommerce_process_product_meta', 'woocom_save_general_proddata_custom_field'); 

add_action('woocommerce_single_product_summary', 'woocommerce_template_top_category_desc', 1); 
    function woocommerce_template_top_category_desc(){ 
$terms = get_the_terms($post->ID, 'wc-attibute-class'); 
if (!empty($terms)) { 
     $term = array_pop($terms); 
       $text= get_field('txt-field', $term); 
       if (!empty($text)) { 
       echo $text; 
       } 
} 
     } 

/** Hook callback function to save custom fields information */ 
function woocom_save_general_proddata_custom_field($post_id) { 
    // Save Text Field 
    $text_field = $_POST['_text_field']; 
    if(! empty($text_field)) { 
    update_post_meta($post_id, '_text_field', esc_attr($text_field)); 
    } 

    // Save Number Field 
    $number_field = $_POST['_number_field']; 
    if(! empty($number_field)) { 
    update_post_meta($post_id, '_number_field', esc_attr($number_field)); 
    } 
    // Save Textarea 
    $textarea = $_POST['_textarea']; 
    if(! empty($textarea)) { 
    update_post_meta($post_id, '_textarea', esc_html($textarea)); 
    } 

    // Save Select 
    $select = $_POST['_select']; 
    if(! empty($select)) { 
    update_post_meta($post_id, '_select', esc_attr($select)); 
    } 

    // Save Checkbox 
    $checkbox = isset($_POST['_checkbox']) ? 'yes' : 'no'; 
    update_post_meta($post_id, '_checkbox', $checkbox); 

    // Save Hidden field 
    $hidden = $_POST['_hidden_field']; 
    if(! empty($hidden)) { 
    update_post_meta($post_id, '_hidden_field', esc_attr($hidden)); 
    } 
} 

私はいくつかのwoocommerceのカスタムプラグインを試してみましたが、私は作成することが提出されたカスタムおよびプラグイン上の25は私のために非常に時間のかかるプロセスであるように思わ持っているとして、それは私の要件を解決しませんでした仕事

私は私の要件としてではないをコードからもらった私の出力は画像2である

マイ出力

答えて

0

あなたはプラグインには興味がありませんが、カスタムフィールドの場合はACFプラグインをお勧めします。それをチェックして、それはあなたに多くの時間を節約します。

+0

私は既に私がより多くの100の製品のための25のカスタムフィールドを作成しなければならないことを言及しているので、それは実り多いでしょう.... – syner

関連する問題