具有值的woocoomerce属性和分配给类别的变量

时间:2018-04-02 18:15:16

标签: php woocommerce hook-woocommerce

我正在尝试以编程方式为变量产品创建两个产品属性“width”和“height”:

  • “宽度”产品属性将具有13个值(24,30,36 ..... 96)
  • “Height”产品属性将具有18个值(18,24,30 .... 120)

因此变量产品将具有总变化:
13(宽度)x 18(高度)= 234种差异,具有不同的价格值,应在属于特定产品类别的产品的前端自动创建(自动填充)。

例如(在单个产品页面中)当用户选择:

  • “width”下拉列表中的选项值24
  • “高度”下拉列表中的选项值18

此变化的价格应为38美元

用户选择的方式相同:

  • width = 30
  • 身高= 18
  • price = $ 45

Attributes 有人为我提供代码,但是新手无法弄清楚代码:

Row x   x_mod   sum  
1   3   0       6    
2   3   0       6    
3   1   1       10   
4   4   1       10   
5   4   1       10   
6   1   1       10   
7   2   2       9    
8   5   2       9    
9   2   2       9     

我被告知上述代码将完成这项工作,当用户在创建新产品时从特定产品类别(“ABC”)中选择产品时,将创建属性宽度和高度以及234变量(我不要没有手动创建属性和变量)

1 个答案:

答案 0 :(得分:0)

我找到了链接,它说编程将Woocommerce中的属性添加到产品代码中,如下所示,但它没有添加创建新产品的属性(将此代码放在function.php中)

  $target_products = array(
     'post_type' => 'product',
     'post_status' => 'publish',
     'product_cat' => 'Living Room Light Balls',
     'posts_per_page'=>-1
);

$my_query = new WP_Query( $args );

if( $my_query->have_posts() ) {

   while ($my_query->have_posts()) : $my_query->the_post(); 

     $term_taxonomy_ids = wp_set_object_terms( get_the_ID(), '0.65m', 'pa_diameter', true );
     $thedata = Array('pa_diameter'=>Array(
       'name'=>'pa_diameter',
       'value'=>'0.65m',
       'is_visible' => '1',
       'is_taxonomy' => '1'
     ));
     update_post_meta( get_the_ID(),'_product_attributes',$thedata); 

   endwhile;
}

wp_reset_query();