1

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

“3 个月每月 0.00 美元和 20.00 美元的注册费”

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

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

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

所以我想更改定价字符串,使其在购物车、小计和相应的电子邮件中显示为简单的“20 美元”。

谢谢,求助!

4

1 回答 1

2

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 核心中的核心功能和方法很有用。对于某些人来说,这可能会更加令人困惑,因为您不想在函数中使用大多数核心语句,但它确实有助于可视化它们是如何做到的。

于 2018-10-24T02:41:50.617 回答