Woocommerce 订阅:获取订阅产品的天数

时间:2021-06-30 09:05:15

标签: php wordpress woocommerce woocommerce-subscriptions

我有兴趣向我的用户展示他们在购买特定变体产品时节省了多少 %

例如,如果我有一个可变订阅,有两个变体。

  1. 1 周 24 英镑
  2. 2 周 30 英镑

然后节省百分比 = ( ((24 * 2) - 30) / 30 ) * 100 = 60%

我想在用户选择产品 2 时显示 Subscribe & save 60%

我的进步

我知道如何在变体上显示此文本,但在获取此百分比值时遇到问题。

在下面找到我试图获得折扣的代码。

function add_data_point_for_savings($available_variations)
{
    if (is_array($available_variations)) {
        $product = wc_get_product($available_variations['variation_id']);
        $period = \WC_Subscriptions_Product::get_length($product);
        $parent_id = $product->get_parent_id();
        $parent_product = wc_get_product($parent_id);
        $minimum_price = $parent_product->get_variation_price('min', true);
        if (isset($available_variations['variation_id'])) {
            $available_variations['underline_text'] = 'Subscribe & Save 00%';
        }
    }
    return $available_variations;
}

add_action('woocommerce_available_variation', 'add_data_point_for_savings', 5);

如您所见,我将其添加为 available_variation 中的数据点。

我一直在为每个变化获取日值。如果我得到每个变化的天数,我将能够找到节省百分比。


我知道这两个函数。

  1. WC_Subscriptions_Product::get_length 给出长度,例如。 6
  2. WC_Subscriptions_Product::get_period 给出句号,例如。 week, month

这些函数的问题是当我尝试获取长度时它返回 0。

<块引用>

总结一下。
我想查找订阅产品变体的天数,因为我有它的 ID。

0 个答案:

没有答案