2013-07-05 43 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; 
} 

我希望这能让您走上正轨!

相关问题