2013-07-05 189 views
3

聰明的人無論如何,我至少對我來說可能是一個挑戰。Woocommerce - 自定義變量產品選項

我爲電子商務網站使用Woocommerce,但需要自定義變量產品選項以包含我的產品的更多相關變體信息。默認情況下,Woocommerce爲您提供以下可變產品,SKU,庫存數量,正常價格,銷售價格,重量,尺寸(長×寬×高),航運類別的選項。你能告訴我如何去除這些選項並添加我自己的。我需要施工,最大負荷單(kg),最大負荷雙(千克),最大速度(千米/小時)等選項....我需要這個,所以每個尺寸屬性可以有不同的變量。

將自定義字段添加到選項卡後,我也需要它們顯示在前端的「附加信息」選項卡上。

任何想法?

面板的圖像需要來定製是

here http://i42.tinypic.com/2hsby3t.png

感謝

回答

0

您將需要掛接到:

woocommerce_process_product_meta_variable 

所以這樣的事情會做的伎倆:

add_action('woocommerce_process_product_meta_variable', 'function new_custom_field_here', 10, 1); 

function new_custom_field_here($loop, $variation_data) { ?> 

     <label>New Field</label> 
     <input name="new_field_[<?php echo $loop; ?>]" value="<?php echo $variation_data['_new_field'][0]; ?>"/> 

<?php } 

這將創建一個新的字段。您將需要保存這些數據:

add_action('woocommerce_process_product_meta_variable', 'save_new_custom_field', 10, 1); 

function save_new_custom_field($post_id) { 
if (isset($_POST['variable_sku'])) : 
    $variable_sku = $_POST['variable_sku']; 
    $variable_post_id = $_POST['variable_post_id']; 

    $new_field = $_POST['new_field']; 

    for ($i = 0; $i < sizeof($variable_sku); $i++) : 
     $variation_id = (int) $variable_post_id[$i]; 
     if (isset($new_field [$i])) { 
      update_post_meta($variation_id, '_new_field', stripslashes($new_field [$i])); 
      update_post_meta($variation_id, '_parent_product', $post_id); 

     } 

    endfor; 

endif; 
} 

我希望這能讓您走上正軌!

相關問題