我正在尝试创建WC_Product_Variable_Subscription和连接的通过PHP 的WC_Product_Subscription_Variation
创建WC_Product_Variable和WC_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());