Php 在商务预订中显示折扣价格
我想显示折扣价格(添加范围后的价格)以及可预订产品的基本价格 我正在做的是更改\woocommerce bookings\includes\adminclass-wc-bookings-ajax.php文件中的以下代码Php 在商务预订中显示折扣价格,php,wordpress,woocommerce,hook-woocommerce,woocommerce-bookings,Php,Wordpress,Woocommerce,Hook Woocommerce,Woocommerce Bookings,我想显示折扣价格(添加范围后的价格)以及可预订产品的基本价格 我正在做的是更改\woocommerce bookings\includes\adminclass-wc-bookings-ajax.php文件中的以下代码 // Build the output $before = $product->get_price(); $after = wc_price( $display_price ) ; $discount = $
// 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>';
//生成输出
$before=$product->get_price();
$after=wc\U价格($display\U价格);
$discount=$product->get\u price()-wc\u price($display\u price);
$output=apply_过滤器('woocommerce_bookings_booking_cost_string','uu('booking cost','woocommerce bookings'),$product)。$discount':。$discount$价格后缀强>';
这是正确的方法还是您可以提出建议?覆盖Woocommerce Bookings核心代码是您绝对不应该做的事情,原因有很多,我不打算解释 现在,正如您在源代码中看到的,开发人员添加了一个过滤器挂钩,允许您对
$output
变量进行更改
现在,WooCommerce可预订产品中没有任何折扣价格,就像WooCommerce上的其他产品一样
所以首先放回原始插件文件
然后您可以按如下方式使用过滤器(您将在其中添加自己的代码):
代码放在活动子主题(或活动主题)的functions.php文件中。覆盖Woocommerce Bookings核心代码是绝对不应该做的事情,原因有很多,我不打算解释 现在,正如您在源代码中看到的,开发人员添加了一个过滤器挂钩,允许您对
$output
变量进行更改
现在,WooCommerce可预订产品中没有任何折扣价格,就像WooCommerce上的其他产品一样
所以首先放回原始插件文件
然后您可以按如下方式使用过滤器(您将在其中添加自己的代码):
代码进入活动子主题(或活动主题)的functions.php文件
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)
}