【发布时间】:2016-01-29 00:06:21
【问题描述】:
我的网站:
https://www.fytso.com/lifestyle
我有 3 个订阅选项:
- 每月 - 每月收费 49.95 美元,直到客户取消
- 3 个月 - 注册时收费 138.85 美元,前 3 个月过去后每月收费 49.95 美元。
- 6 个月 - 注册时收费 274.70 美元,前 6 个月过去后每月收费 49.95 美元。
(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://imgur.com/bS7HIGf
因此,尽管这似乎是一个很容易解决的问题,但我无法完成它,需要一些帮助。
另一种选择是只在主页上显示订阅价格。然而,这会导致我们的每月选项显示 0 美元,因为仅允许显示订阅价格的设置通过我正在使用的简单过滤器全局应用。
按产品定位(如果可能)可能会解决这个问题。但同样,我在实施时遇到了麻烦。
我正在使用的过滤器,我找到了here,它现在看起来像这样:
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 );
}
显然是错误的。帮助表示赞赏。
理想情况下,这些选项会显示:
- 49.95 美元
- 138.85 美元
- 274.70 美元
【问题讨论】:
-
138.85 美元的注册费 == 免费试用如何?
-
Jules,这是很多信息,但不清楚您实际上想要说什么?您能否具体说明您希望此过滤器显示的内容?
-
该死!对不起。理想情况下,它会读取订阅选项:1. 49.95 美元 2. 138.85 美元 3. 274.70 美元 我也会编辑原始帖子
-
138.85 美元的注册费 == 免费试用如何?但为了延迟重复收费,我不得不将设置配置为分别免费试用 3 个月和 6 个月。
标签: php wordpress woocommerce