从 Woocommerce 订阅价格中隐藏“免费试用”文本,但保留注册费

Posted

技术标签:

【中文标题】从 Woocommerce 订阅价格中隐藏“免费试用”文本,但保留注册费【英文标题】:Hide “free trial” text from Woocommerce Subscriptions price but keep the Sign-Up Fee 【发布时间】:2018-11-17 23:30:10 【问题描述】:

这个很棒的帖子回答了问题的第一部分(隐藏 Woocommerce 订阅价格中的“免费试用”文本):

Hide the "free trial" text from Woocommerce Subscriptions price

但是,它删除了“和 xx 注册费”。删除免费试用文本后,有什么方法可以保留注册费文本?

【问题讨论】:

【参考方案1】:

已更新 - 请尝试以下操作:

add_filter( 'woocommerce_subscriptions_product_price_string', 'subscriptions_custom_price_string', 20, 3 );
function subscriptions_custom_price_string( $price_string, $product, $args ) 
    // Get the trial length to check if it's enabled
    $trial_length = get_post_meta( $product->get_id(), '_subscription_trial_length', true );
    $speriod = get_post_meta( $product->get_id(), '_subscription_period', true );
    $sfee = get_post_meta( $product->get_id(), '_subscription_sign_up_fee', true );
    $sfee = wc_price($sfee);
    $sign_up_fee = isset($args['sign_up_fee']) ? __(" and a $sfee sign-up fee", "woocommerce") : '';
    if( $trial_length > 0 )
        $price_string = $args['price'] . ' / ' . $speriod . $sign_up_fee;

    return $price_string;

代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

【讨论】:

@LoicTheAziec 似乎只有你能帮我解决这个问题***.com/questions/68311716/… 到目前为止,我已经尽了最大的努力,而且我已经很接近了。你能从这里开始帮助我吗?任何帮助或支持或指导将不胜感激。提前致谢。 我们如何隐藏just“免费试用”文本,同时保留字符串的第一部分“每 X 周的星期四”?【参考方案2】:

搜索了同一个函数,找到了一个很好的解决方案:

add_filter( 'woocommerce_subscriptions_product_price_string_inclusions', function ( $include ) 
    $include['trial_length'] = false;

    return $include;
 );

【讨论】:

没有任何解释的代码很少有帮助。 Stack Overflow 是关于学习的,而不是提供 sn-ps 来盲目复制和粘贴。请编辑您的问题并解释它如何回答所提出的具体问题。见How to Answer。

以上是关于从 Woocommerce 订阅价格中隐藏“免费试用”文本,但保留注册费的主要内容,如果未能解决你的问题,请参考以下文章

隐藏订阅价格和详细信息 WooCommerce 免费样品

Woocommerce 订阅中的订阅频率和价格变化挂钩

隐藏特定国家/地区的产品价格 WooCommerce

更改现有定期付款的 woocommerce 订阅率

从 WooCommerce 的“客户”角色中隐藏我的帐户中的帐户资金充值

隐藏产品可变价格,直到在 WooCommerce 中选择所有变体字段