Я пытаюсь изменить фильтр 'woocommerce_bookings_booked_day_blocks', в функции которого есть обратная строка find_booked_day_blocks в class-wc-bookings-controller.php:
return apply_filters( 'woocommerce_bookings_booked_day_blocks', $booked_day_blocks, $bookable_product );
Этот фильтр указан здесь: https://docs.woocommerce.com/document/bookings-action-and-filter-reference/
Даже базовый фильтр, который должен просто получить две переменные и вернуть их снова (если я делаю это правильно), не работает на functions.php, отладка wordpress включенаи отображает «Синтаксическая ошибка, ожидаемый конец файла»:
add_filter( 'woocommerce_bookings_booked_day_blocks',
'wcmb_maxbookings');
function wcmb_maxbookings($booked_day_blocks , $bookable_product) {
//do something here
return $booked_day_blocks;
}
Этот код из фрагмента кода работает, если он находится в том же месте в этом файле:
add_filter( 'woocommerce_page_title', 'woo_shop_page_title');
function woo_shop_page_title( $page_title ) {
if( 'Shop' == $page_title) {
return "My new title";
}
}
Кроме того, яв конце концов, я хочу добавить дополнительный код, как только он заработает, который включает переменные из функции woocommerce_bookings_booked_day_blocks, такие как $ check_date, которые не передаются в фильтре, но необходимы для моего кода.Нужно ли переопределять их в моей функции или они будут унаследованы через вызов фильтра?
Я не хочу переопределять их, так как они вычисляются через переменные в исходном вызове функции, которые я не могу передать снова, поскольку они вызываются рядом других функций woocommerce-bookings (например, в циклах foreach).где для конкретной даты месяца вызывается find_booked_day_blocks).Переопределение каждого из этих значений было бы невозможно для моего случая, я только хочу добавить код / изменить следующую функцию:
public static function find_booked_day_blocks( $bookable_product, $min_date = 0, $max_date = 0, $default_date_format = 'Y-n-j', $timezone_offset = 0 )
Примечание: я понимаю, что это не такЛучшая практика для редактирования темы functions.php, я пытаюсь заставить фрагмент кода работать для плагина woocommerce-bookings и полностью намереваюсь поместить его в сам плагин фрагментов кода, а не в файл functions.php после проверкичто это работает!
Спасибо за помощь!