将 WooCoomerce 与WooCommerce 预订插件一起使用。在他们的API Reference中,列出了一个用于修改预订成本的过滤器:woocommerce_bookings_calculated_booking_cost
。简而言之,以下是它在代码中的应用方式:
return apply_filters( 'woocommerce_bookings_calculated_booking_cost', $booking_cost, $product, $data );
现在,我添加了以下代码,尝试更改价格:
function foobar_price_changer( $booking_cost, $product, $data ) {
return $booking_cost;
}
add_filter( 'woocommerce_bookings_calculated_booking_cost', 'foobar_price_changer' );
现在,当我使用该代码时,它会在我的日志中引发错误:
PHP Fatal error: Uncaught ArgumentCountError: Too few arguments to function sbnb_modify_wc_bookings_price(), 1 passed in /mywppath/wp-includes/class-wp-hook.php on line 290 and exactly 3 expected in /mywppath/wp-content/themes/enfold-child/functions.php:155
据我阅读,3 个参数被传递给 add_filter 回调,但在我的例子中它只传递了一个。这里可能是什么问题?