Woocommerce 如何更改电子商务(订阅)的价格线?

Woocommerce 如何更改电子商务(订阅)的价格线?,woocommerce,price,woocommerce-subscriptions,Woocommerce,Price,Woocommerce Subscriptions,对于我的网店,我使用Woocommerce和Woocommerce订阅来销售订阅。Woocommerce订阅插件在此处生成一个字符串,添加到价格中,如下所示: “$0.00/月,为期3个月,注册费$20.00” 这是一个非常奇怪的说法,我想说“20美元” 通过使用某些插件,可以更改第一部分($0.00),价格本身,但不可能更改其余部分或删除此部分(可能是因为这是在订阅中完成的,而不是在Woocommerce本身中) 该产品是订阅产品的原因是,我将提前支付多个月(例如3个月)发货。所以我希望它成为

对于我的网店,我使用Woocommerce和Woocommerce订阅来销售订阅。Woocommerce订阅插件在此处生成一个字符串,添加到价格中,如下所示:

“$0.00/月,为期3个月,注册费$20.00”

这是一个非常奇怪的说法,我想说“20美元”

通过使用某些插件,可以更改第一部分($0.00),价格本身,但不可能更改其余部分或删除此部分(可能是因为这是在订阅中完成的,而不是在Woocommerce本身中)

该产品是订阅产品的原因是,我将提前支付多个月(例如3个月)发货。所以我希望它成为订阅的一部分,保持一致

因此,我想更改定价字符串,使其在购物车、小计和相应的电子邮件中显示为“$20”


谢谢你,救命啊

在Woo中有两个现成的钩子,可以改变html的措辞,如果我没有弄错的话,也可以帮助翻译。这两项是:

add_filter( 'woocommerce_subscriptions_product_price_string', '49177935_subscriptions_custom_price_string' );

add_filter( 'woocommerce_subscription_price_string', '49177935_subscriptions_custom_price_string' );
您可以向子主题函数添加一个函数来测试:

function 491777935_subscriptions_custom_price_string( $pricestring ) { 

    $products_with_price_str = array( ...$id(s) or logic... );
    if ( in_array( $product->id, $products_with_price_str ) ) { 

        $pricestring = str_replace( 'every 3 months', wc_clean($0.00)'', $pricestring );
        $pricestring = str_replace( 'sign on fee', 'wc_clean($20.00)', $pricestring);
    }
    return $pricestring;
}

我相信这会对你和我都有帮助,我总是发现直接在Woocommerce的核心中查看核心函数和方法是很有用的。对于某些人来说,这可能会更让人困惑,因为您不想在函数中使用大多数核心语句,但这确实有助于将它们的工作方式形象化。

我正试图实现完全相同的目标。我很好奇你用什么插件来改变第一部分($0.00),我有一个解决方案,用于下面的第二部分。