在我的 WordPress 项目中,我使用 WooCommerce 创建了几个可变订阅产品。我为每个属性创建了一个名为“billing_period”的属性,其值为“每月|每年”,并生成了变化。我将每个变体更改为虚拟(因为它是订阅),并根据需要的价格设置计费间隔。
在此之前,我有简单的订阅,按月计费,单一价格。我已使用 WordPress 将这些产品帖子拉到我的页面模板中,并放置了一个购买按钮,该按钮重定向到如下 URL:
https://example.com/checkout?add-to-cart=<<product-id>>
但是当我现在这样做时,它不起作用(使用我的变量订阅设置)。我什至尝试将以下 URL 放入该按钮,但这也不起作用(它重定向到主页,而不是结账)。
https://example.com/checkout?add-to-cart<<product-id>>&billing_period=<<monthly_or_yearly>>
从商店页面或产品页面本身,可以选择选择计费周期然后注册,但我没有使用 WooCommerce 自己的页面(样式等)的计划。这就是为什么我有自己的页面并想解决这个问题。
我刚刚将
add-to-cart
参数中的订阅产品 ID 替换为变体 ID,并且成功了。
https://example.com/checkout?add-to-cart=<<variation-id>>
提示:您可以通过导出产品并获取所需变体的 id 来获取变体 id,或者使用以下方式:
$product = wc_get_product($product_id); // your product
$variation_id = $product->get_variation_id(array('attribute_slug' => 'attribute_term')); // i.e. array('billing_period' => 'monthly')