如何在代码中创建 WooCommerce 产品变体而不在 wp_posts 中保存新记录?
How do I create WooCommerce product variations in code without saving new records in wp_posts?
我有一个拥有数百万 post 的网站(使用名为 "case" 的自定义 post 类型)。他们每个人都有很多 post_meta 条记录(使用 ACF)。我现在想将它们转化为 woocommerce 产品。我正在使用 Reigel Gallarde's plugin,它将 WooCommerce 设置为将任何 CPT 视为产品——到目前为止一切顺利。
但是,我想为每个 case/product 使用完全相同的变体集,而不为 每个 wp_posts 中的每个 post 行生成新的变体 post 行案例。我怎样才能在 PHP 中单独定义这些变体或其他一些媒介,这样我就不会向数据库中添加更多内容?是否有用于即时创建变体的钩子?我在 WooCommerce 文档中找不到任何内容。
向购物车添加变体时,add-to-cart.php REST 调用似乎需要属性 slug(例如“&attribute_pa_color=orange”)和变体 post ID ("&variation_id=48935701"),否则它不会添加到具有所需变体的购物车。这里的失败是,在数据库中,变体 post ID 与产品 post ID 耦合(子)。我看到这是一个很好的安全实践,但它的扩展性并不好。如果我可以使用那个属性 slug 将一个项目添加到购物车,那将是理想的。
因为我真的只想为每个产品都使用相同的变体集,所以我最终采用了不同的方法。我只需要使用 WooCommerce Product Add-Ons 插件来创建一个全局表单。此表单显示在每个产品页面上,并且似乎对被视为产品的 CPT 也有效。它不会为每个 CPT 创建新的 postmeta 字段,这正是我所需要的。
我有一个拥有数百万 post 的网站(使用名为 "case" 的自定义 post 类型)。他们每个人都有很多 post_meta 条记录(使用 ACF)。我现在想将它们转化为 woocommerce 产品。我正在使用 Reigel Gallarde's plugin,它将 WooCommerce 设置为将任何 CPT 视为产品——到目前为止一切顺利。
但是,我想为每个 case/product 使用完全相同的变体集,而不为 每个 wp_posts 中的每个 post 行生成新的变体 post 行案例。我怎样才能在 PHP 中单独定义这些变体或其他一些媒介,这样我就不会向数据库中添加更多内容?是否有用于即时创建变体的钩子?我在 WooCommerce 文档中找不到任何内容。
向购物车添加变体时,add-to-cart.php REST 调用似乎需要属性 slug(例如“&attribute_pa_color=orange”)和变体 post ID ("&variation_id=48935701"),否则它不会添加到具有所需变体的购物车。这里的失败是,在数据库中,变体 post ID 与产品 post ID 耦合(子)。我看到这是一个很好的安全实践,但它的扩展性并不好。如果我可以使用那个属性 slug 将一个项目添加到购物车,那将是理想的。
因为我真的只想为每个产品都使用相同的变体集,所以我最终采用了不同的方法。我只需要使用 WooCommerce Product Add-Ons 插件来创建一个全局表单。此表单显示在每个产品页面上,并且似乎对被视为产品的 CPT 也有效。它不会为每个 CPT 创建新的 postmeta 字段,这正是我所需要的。