То, как вы определили функцию, будет работать только с 2 передаваемыми ей параметрами.Действие woocommerce woocommerce_before_single_product_summary
, по-видимому, передает только один параметр, если он вообще существует.
Так что для того, чтобы обойти это, вам просто нужно определить значения по умолчанию для ваших параметров в таких случаях, так что предупреждение "отсутствует аргумент"не срабатывает, вот так:
function action_woocommerce_before_single_product_summary(
$woocommerce_show_product_sale_flash = null, $int = 0 ) {
echo "";
}
Обратите внимание, как для безопасной меры я определил $ woocommerce_show_product_sale_flash как NULL?Если призыв к действию передает какие-либо значения этой функции, значения по умолчанию (ноль и ноль) будут перезаписаны.
Также имейте в виду, что ваша "ошибка" на самом деле является просто предупреждением.Это не нарушит ваш код, и ваша функция должна работать, но это зависит от ваших настроек ошибок PHP, и вы, вероятно, видите предупреждения или режим отладки включен в конфигурации WordPress.