Woocommerce订阅字符串


Woocommerce Subscription Strings

我的网站:

https://www.fytso.com/lifestyle

我有 3 个订阅选项:

  1. 每月 - 按每月 49.95 美元收费,直到客户取消
  2. 3 个月 - 注册时收费 138.85 美元,前 49.95 个月后每月收费 3 美元。
  3. 6 个月 - 注册时收费 274.70 美元,前 49.95 个月后每月收费 6 美元。

(1) 的设置很简单。每月简单$ 49.95。

(2 和 3)的设置为:

$

138.85注册费,免费试用3个月,然后每月$ 49.95。对于 6 个月,注册费为 274.70 美元,免费试用期为 6 个月,然后每月 49.95 美元。

这是我配置这些设置的唯一方法,以便它们按照我需要的方式工作。

现在,默认情况下,"woocommerce_subscriptions_product_price_string","my_subs_price_string"显示的信息对我的客户来说简直令人困惑。所以这需要修改。

我设法用过滤器消除了主页上显示的价格和字符串(我可以忍受),但我的问题是,如果客户将商品添加到他们的购物车,这些价格也不会显示在购物车页面上。

屏幕盖:https://i.stack.imgur.com/pR65I.jpg

所以,即使这似乎是一个简单的问题,我也无法完成它,需要一些帮助。

另一种选择是仅在主页上显示订阅价格。但是,这会导致我们的每月选项显示 0 美元,因为仅允许显示订阅价格的设置是通过我使用的简单过滤器在全球范围内应用的。

按产品定位(如果可能)可能会解决这个问题。但同样,这是我在实现时遇到麻烦的事情。

正在使用的过滤器,我在这里找到,现在看起来像这样:

add_filter( 'woocommerce_subscriptions_product_price_string', 'my_subs_price_string', 10, 3 );
function my_subs_price_string( $subscription_string, $product, $include ) {
    /****
    var_dump($product); Various variables are available to us
    ****/
    return ' Renews at ' . wc_price( $product->subscription_price );
}

就目前而言,显然是错误的。感谢帮助。

理想情况下,这些选项将显示:

  1. $49.95
  2. $138.85
  3. $274.70

解决方案实际上很简单。直勾勾地盯着我的脸。

我只是将每月选项设置更改为:

$ 49.95注册费,免费试用30天。因此,它类似于3个月和6个月的选项。现在我的小过滤器看起来像这样:

add_filter( 'woocommerce_subscriptions_product_price_string', 'my_subs_price_string', 10, 3 );
function my_subs_price_string( $subscription_string, $product, $include ) {
    /****
    var_dump($product); Various variables are available to us
    ****/
    return '' . wc_price( $product->subscription_sign_up_fee );
}

我在主页和购物车中的价格显示正确。 即注册时将收取的注册费,我的经常性费用将在首次注册后 30、60 和 180 天开始。

瞧!