Warning: call_user_func_array()
-
Ошибка:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, no array or string given in ,,,,,,,,,,,,/wp-includes/class-wp-hook.php on line 286
Определил вредителя: плагин «jQuery Vertical Mega Menu»
вот строка с ошибкой// Register the widget add_action('widgets_init', create_function('', 'return register_widget("dc_jqverticalmegamenu_widget");'));
что с ней не так и как исправить?
Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
-
Вроде всё так. Правда create_function в php7.2 считается устаревшей, но вполне легальна, да и если с ней что-то не так, ругаться должна бы php, а не WP.
Обновить это место можно так:
// Register the widget add_action('widgets_init', function() { register_widget("dc_jqverticalmegamenu_widget"); });
Поставил плагин у себя. Из ругани:
Вызванный метод конструктора класса WP_Widget в dc_jqverticalmegamenu_widget считается устаревшим с версии 4.3.0! Используйте __construct().
и несколько
Non-static method dc_jqverticalmegamenu::***тут разные*** should not be called statically
Warning: call_user_func_array() не вижу.
может при помощи плагина «Query Monitor»как то можно найти причину ошибки Warning: call_user_func_array() ?он много информации дает вроде
или может есть какой то плагин, который в режиме реального времени будет показывать на какой страничке сработал Warning: call_user_func_array()?
может при помощи плагина «Query Monitor»как то можно найти причину ошибки Warning: call_user_func_array() ?он много информации дает вроде
Возможно, что-то можно увидеть табах PHP errors и Hooks & Actions.
Я попробовал — он показал ерунду 🙂на какой страничке сработал Warning: call_user_func_array()?
Это в лог должно писаться. В режиме реального времени.
он показал ерунду 🙂
Ерунду звали Yoast SEO.
Отключил.
Монитор показал куда надо (более-менее)
Мораль: SEO==ЗЛО :pmypowerlogo, Ваша идея использовать Query Monitor оказалось удачной. Респект!
просмотрел: PHP errors и Hooks & Actions
искал:add_action(
иcall_user_func_array(
не нашелне нашел
Возможно, Вы смотрите не на той странице, где возникает ошибка. Существуют еще аяксные запросы и хроновые задачи, которые эти инструментом в принципе нельзя посмотреть.
Если в лог ошибок не пишется страница, то можно в access.log попробовать найти запрос с тем же временем и тем же IP, что и в строке с ошибкой.
Если в лог ошибок не пишется страница, то можно в access.log попробовать найти запрос с тем же временем и тем же IP, что и в строке с ошибкой.
включил запись логов, логи пишутся раз в сутки. как появится файл с логами отпишусь
- Ответ изменён 6 лет, 2 месяца назад пользователем mypowerlogo.
логи пишутся раз в сутки.
Странно это. Логи пишутся сразу. Раз в сутки обычно делается ротация логов: старый файл закрывается и архивируется, а новый открывается и пишется в него.
включил запись логов, логи пишутся раз в сутки.
Это какие-то не те логи.
Попробуйте такой финт.
В wp-config.php вместо строкиdefine('WP_DEBUG', false);
вставьте этот код:define( 'WP_DEBUG', true ); if ( WP_DEBUG ) { define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false); }
Воспроизведите проблему.
Логи ошибок должны писаться в/wp-content/debug.log
.итак в файле debug.log появилось появились новые ошибки:
например вот список ошибок за 1 секунду:[02-Nov-2018 15:33:32 UTC] PHP Notice: wp_enqueue_style was called <strong>incorrectly</strong>. Scripts and styles should not be registered or enqueued until the <code>wp_enqueue_scripts</code>, <code>admin_enqueue_scripts</code>, or <code>login_enqueue_scripts</code> hooks. Please see <a href="https://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information. (This message was added in version 3.3.0.) in ,,,,,/wp-includes/functions.php on line 4161 [02-Nov-2018 15:33:32 UTC] PHP Notice: wp_enqueue_script was called <strong>incorrectly</strong>. Scripts and styles should not be registered or enqueued until the <code>wp_enqueue_scripts</code>, <code>admin_enqueue_scripts</code>, or <code>login_enqueue_scripts</code> hooks. Please see <a href="https://codex.wordpress.org/Debugging_in_WordPress">Debugging in WordPress</a> for more information. (This message was added in version 3.3.0.) in ,,,,,/wp-includes/functions.php on line 4161 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Function create_function() is deprecated in ,,,,,,/wp-content/themes/giga-store/functions.php on line 326 [02-Nov-2018 15:33:32 UTC] PHP Notice: Вызванный метод конструктора класса WP_Widget в dc_jqverticalmegamenu_widget считается <strong>устаревшим</strong> с версии 4.3.0! Используйте <pre>__construct()</pre>. in ,,,,,,/wp-includes/functions.php on line 3916 [02-Nov-2018 15:33:32 UTC] PHP Notice: Вызванный метод конструктора класса WP_Widget в dc_jqverticalmegamenu_widget считается <strong>устаревшим</strong> с версии 4.3.0! Используйте <pre>__construct()</pre>. in ,,,,,,,/wp-includes/functions.php on line 3916 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Non-static method dc_jqverticalmegamenu::header() should not be called statically in ,,,,,,,,/wp-includes/class-wp-hook.php on line 286 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Non-static method dc_jqverticalmegamenu::get_plugin_directory() should not be called statically in ,,,,,,,,,,/wp-content/plugins/jquery-vertical-mega-menu/dcwp_jquery_vertical_mega_menu.php on line 30 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Non-static method dc_jqverticalmegamenu::get_plugin_directory() should not be called statically in ,,,,,,/wp-content/plugins/jquery-vertical-mega-menu/dcwp_jquery_vertical_mega_menu.php on line 34 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Non-static method dc_jqverticalmegamenu::get_plugin_directory() should not be called statically in ,,,,,,,,,,,,/wp-content/plugins/jquery-vertical-mega-menu/dcwp_jquery_vertical_mega_menu.php on line 35 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Non-static method dc_jqverticalmegamenu::get_plugin_directory() should not be called statically in ,,,,,,,,/wp-content/plugins/jquery-vertical-mega-menu/dcwp_jquery_vertical_mega_menu_widget.php on line 205 [02-Nov-2018 15:33:32 UTC] PHP Warning: call_user_func_array() expects parameter 1 to be a valid callback, no array or string given in ,,,,,,/wp-includes/class-wp-hook.php on line 286 [02-Nov-2018 15:33:32 UTC] PHP Deprecated: Non-static method dc_jqverticalmegamenu::footer() should not be called statically in ,,,,,,/wp-includes/class-wp-hook.php on line 286 [02-Nov-2018 15:33:32 UTC] PHP Notice: Функция get_product с версии 3.0 <strong>считается устаревшей</strong>! Используйте wc_get_product. in ,,,,,,,/wp-includes/functions.php on line 3853
в файле functions.php всего 398 строк:
326 add_filter( 'loop_shop_per_page', create_function( '$cols', 'return ' . absint( get_theme_mod( 'archive_number_products', 24 ) ) . ';' ), 20 );
dcwp_jquery_vertical_mega_menu.php
29 function header(){ echo "\n\t<link rel=\"stylesheet\" type=\"text/css\" href=\"".dc_jqverticalmegamenu::get_plugin_directory()."/css/dcverticalmegamenu.css\" media=\"screen\" />"; // Scripts 33 wp_enqueue_script( 'jquery' ); 34 wp_enqueue_script( 'jqueryhoverintent', dc_jqverticalmegamenu::get_plugin_directory() . '/js/jquery.hoverIntent.minified.js', array('jquery') ); 35 wp_enqueue_script( 'dcjqverticalmegamenu', dc_jqverticalmegamenu::get_plugin_directory() . '/js/jquery.dcverticalmegamenu.1.3.js', array('jquery') ); }
dcwp_jquery_vertical_mega_menu_widget.php
204 if($skin != 'No-theme'){ 205 echo "\n\t<link rel=\"stylesheet\" href=\"".dc_jqverticalmegamenu::get_plugin_directory()."/skin.php?widget_id=".$key."&skin=".strtolower($skin)."\" type=\"text/css\" media=\"screen\" />"; 206 }
- Ответ изменён 6 лет, 2 месяца назад пользователем mypowerlogo.
- Ответ изменён 6 лет, 2 месяца назад пользователем mypowerlogo.
как их лечить?
как их лечить?
Удивляет Ваше упорство. Пытаться освежить экскременты мамонтов https://wordpress.org/plugins/jquery-vertical-mega-menu/ при наличии актуальных аналогов — это сильно.
Определил вредителя: плагин «jQuery Vertical Mega Menu»
Деактивировать плагин.
плагин «jQuery Vertical Mega Menu», деактивирую.
а вот эту ошибку как исправить?
PHP Deprecated: Function create_function() is deprecated in ,,,,,,/wp-content/themes/giga-store/functions.php on line 326
functions.php
326 add_filter( 'loop_shop_per_page', create_function( '$cols', 'return ' . absint( get_theme_mod( 'archive_number_products', 24 ) ) . ';' ), 20 );
- Ответ изменён 6 лет, 2 месяца назад пользователем mypowerlogo.
- Тема «Warning: call_user_func_array()» закрыта для новых ответов.