使用新属性值创建程序化 WooCommerce 产品变体
此问题解决了为现有可变产品创建产品变体的挑战WooCommerce 3 .目标是自动化此过程,同时处理尚不存在的变体的新属性值的创建。
解决方案
提供的解决方案利用自定义 PHP函数名为 create_product_variation()。该函数有两个参数:
该函数首先创建一个产品变体帖子对象。然后使用该对象创建一个新帖子,代表该变体。接下来,创建 WC_Product_Variation 对象的实例并用于设置变体的属性值。
该函数迭代 $variation_data 数组中提供的变体属性。对于每个属性,它检查是否存在相应的分类法。如果不存在,则使用 register_taxonomy() 函数创建分类法。
对于 $variation_data['attributes'] 中指定的每个属性值,该函数检查该术语是否已存在。如果没有,它会使用 wp_insert_term() 创建术语。然后获取术语的 slug 并用于更新变体的帖子元。
其他变体数据,例如 SKU、价格和库存数量,也使用适当的方法设置。请注意,管理库存时,set_manage_stock() 方法必须设置为 true。
最后使用 save() 方法保存变体对象。
使用示例
提供的示例演示了如何创建具有两个属性(“尺寸”和“颜色”)、唯一的 SKU、价格和库存数量:
$parent_id = 746; // Or get the variable product id dynamically // The variation data $variation_data = array( 'attributes' => array( 'size' => 'M', 'color' => 'Green', ), 'sku' => '', 'regular_price' => '22.00', 'sale_price' => '', 'stock_qty' => 10, ); // The function to be run create_product_variation( $parent_id, $variation_data );
执行此代码后,它将创建具有指定属性、价格和库存信息的新产品变体。
以上是如何以编程方式创建具有新属性值的 WooCommerce 产品变体?的详细内容。更多信息请关注PHP中文网其他相关文章!