首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Woocommerce预订中显示折扣价格

在Woocommerce预订中显示折扣价格
EN

Stack Overflow用户
提问于 2020-09-21 04:42:21
回答 1查看 287关注 0票数 1

我想要显示折扣价格(添加范围后的价格)以及可预订产品的基本价格。我要做的是更改\woocommerce-bookings\includes\adminclass-wc-bookings-ajax.php文件中的以下代码

代码语言:javascript
复制
// Build the output
        
        $before = $product->get_price();
        $after = wc_price( $display_price ) ;
        $discount = $product->get_price() - wc_price( $display_price );
        $output = apply_filters( 'woocommerce_bookings_booking_cost_string', __( 'Booking cost', 'woocommerce-bookings' ), $product ) .$discount ': <strong>' .$discount . $price_suffix . '</strong>';

这是正确的方法吗?或者你能提出一些建议吗?

EN

回答 1

Stack Overflow用户

发布于 2020-09-22 06:46:13

覆盖Woocommerce Bookings的核心代码是你绝对不应该做的事情,因为有很多不同的原因,我不打算解释。

现在,正如您在源代码中看到的那样,开发人员添加了一个过滤器挂钩,允许您对$output变量进行更改。

现在在WooCommerce bookable产品中没有任何折扣价格,就像在WooCommerce其他产品上一样。

所以首先要放回原来的插件文件。

然后,您可以使用过滤器,如下所示(您将在其中添加自己的代码):

代码语言:javascript
复制
add_filter( 'woocommerce_bookings_booking_cost_string', 'change_bookings_booking_cost_string', 10, 2 );
function change_bookings_booking_cost_string( $cost_string, $product ) {
    $raw_price       = $product->get_price();
    $display_price   = wc_get_price_to_display($product);
    $price_suffix    = $product->get_price_suffix();
    $formatted_price = wc_price($display_price) . $price_suffix;
    
    $additional_output = 'Here comes your code'; // Replace by your code variables 
    
    return $cost_string . ' ' . $additional_output; // Always return (never echo)
}

代码放在活动子主题(或活动主题)的functions.php文件中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63983457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档