我的网站上每月,每年和每周都有多个订阅产品。
我正在运行此代码,它可以正常工作(将“月更改为30天”),但仅适用于具有“每月”功能的产品,如何应用它来更改每周和每年的字符串?
谢谢
function wc_subscriptions_custom_price_string( $pricestring ) {
$newprice = str_replace( 'month', '30 days', $pricestring );
return $newprice;
}
add_filter( 'woocommerce_subscriptions_product_price_string', 'wc_subscriptions_custom_price_string' );
add_filter( 'woocommerce_subscription_price_string', 'wc_subscriptions_custom_price_string' );
答案 0 :(得分:0)
您可以选择替换所有需要的字符串,前提是您知道现在 的含义。
我找不到文档,但是鉴于// callback from parent
this.props.onSelect(this.state);
的取值分别为$pricestring
,biweekly
,weekly
,我将遵循这种模式并尝试:
yearly
基本上,它使用function wc_subscriptions_custom_price_string( $pricestring ) {
$newprice = str_replace( 'biweekly', '14 days', $pricestring );
$newprice = str_replace( 'weekly', '7 days', $pricestring );
$newprice = str_replace( 'yearly', '365 days', $pricestring );
return $newprice;
}
并替换内部找到的任何文本(第一个参数),然后将其替换为任何文本(第二个参数),再次保存并返回修改后的$pricestring
如果要避免在$newprice
中意外重写biweekly
,请注意weekly
和weekly
的顺序。
答案 1 :(得分:0)
只需执行类似的替换,您甚至可以嵌入它们,例如:
function wc_subscriptions_custom_price_string( $pricestring ) {
$newprice = str_replace(
'month',
'30 days',
str_replace(
'year',
'365 days',
str_replace(
'week',
'7 days',
$pricestring
)
)
);
return $newprice;
}
add_filter( 'woocommerce_subscriptions_product_price_string', 'wc_subscriptions_custom_price_string' );
add_filter( 'woocommerce_subscription_price_string', 'wc_subscriptions_custom_price_string' );