通过PHP创建WC_Product_Subscription_Variation并设置所需的post-meta(peri



我正在尝试创建WC_Product_Variable_Subscription和连接的通过PHP 的WC_Product_Subscription_Variation

创建WC_Product_VariableWC_Product_Variation似乎很简单(我创建的类从中继承(,但我在设置所需时遇到了问题

间隔,期间和长度

属性(例如,订阅价格为每月200美元,为期6个月。(

创建新WC_Product_Variation和连接的新WC_Product_Subscription_Variation

它和设置后元一样简单吗

[_subscription_period] => Array
(
[0] => month
)
[_subscription_period_interval] => Array
(
[0] => 1
)
[_subscription_length] => Array
(
[0] => 3
)

创建变体后手动?有人有工作代码的例子吗?

感谢所有能为我指明正确方向的人!

m。

在发布这个问题之前,我本应该再次详细查看底层代码-很抱歉有人花时间讨论这个问题。

关于实际答案:

如果已经创建了WC_Product_Variable_Subscription(这不是订阅,而是产品类型-命名可能有点混乱(,并且已经创建/连接了所需的变体,则可以通过发布元数据更新产品变体。

例如

update_post_meta($variation->get_id(), '_subscription_period', 'week');
update_post_meta($variation->get_id(), '_subscription_period_interval', 1);
update_post_meta($variation->get_id(), '_subscription_length', 4);

提示:如果您搜索创建变体的方法,您可以查看data_store 的createAllProductVariations方法

例如

$data_store = $product->get_data_store();    
$data_store->create_all_product_variations($product, $maxVariations);
$data_store->sort_all_product_variations($product->get_id());

最新更新