WBM-PM 186 Posted August 15, 2015 Report Share Posted August 15, 2015 Доброго времени суток!В php - слабоват мягко говоря.Суть проблемы:есть сайт, работает на wordpress, установил плагин интернет магазина WooCommerce, все работает, но в некоторых местах вылазит строка:Warning: reset() expects parameter 1 to be array, null given in /home/vasya/site.com/wp-content/ themes/ccm3/library/sidebars.php on line 183 содержимое файла sidebars.php прикрепил: Буду от всей души благодарен за помощь! error.txt Link to post Share on other sites
gefard 89 Posted August 15, 2015 Report Share Posted August 15, 2015 $places пустой вот и все или содержит неверную запись Link to post Share on other sites
WBM-PM 186 Posted August 15, 2015 Author Report Share Posted August 15, 2015 $places пустой вот и все или содержит неверную запись по тексту ошибки я это тоже понял)) а вот где ковырять?) Link to post Share on other sites
Administrators DevilStar 1179 Posted August 15, 2015 Administrators Report Share Posted August 15, 2015 Нужно выключить показ предупреждений в php.ini или .htaccess WBM-PM 1 Link to post Share on other sites
gefard 89 Posted August 15, 2015 Report Share Posted August 15, 2015 по тексту ошибки я это тоже понял)) а вот где ковырять?) ковырять в том месте где вызывается функция theme_print_sidebar, и смотреть что за $places в нее передают Ошибка не критична, просто отключите показ ошибок если хотите исправить ищите вызов функции и isset вам в помощь, это так на вскидку WBM-PM 1 Link to post Share on other sites
node.js 103 Posted August 15, 2015 Report Share Posted August 15, 2015 С PHP давно уже не работал и по забывал все, но попробуй после строки function theme_print_sidebar($name, $places) { Сделать проверку if(empty($places)) { return; } WBM-PM 1 Link to post Share on other sites
WBM-PM 186 Posted August 15, 2015 Author Report Share Posted August 15, 2015 С PHP давно уже не работал и по забывал все, но попробуй после строки function theme_print_sidebar($name, $places) { Сделать проверку if(empty($places)) { return; } не помогло - после этого выводит сайдбар дважды)) Link to post Share on other sites
gefard 89 Posted August 15, 2015 Report Share Posted August 15, 2015 не помогло - после этого выводит сайдбар дважды)) правильно потому как $places это массив скорее if ($name != 'footer' && $place_count < 2 && isset($places)) { theme_print_widgets(reset($places), $style); return; } Но это проверка на существование, не зная что и как лежит в нем не поймешь для этого в начале функции print_r($places); - если он все таки существует WBM-PM 1 Link to post Share on other sites
WBM-PM 186 Posted August 15, 2015 Author Report Share Posted August 15, 2015 В итоге последовал совету DevilStar отключил показ ошибки в .htaccess пока, позже перековыряю , если руки дойдут, грешу на несовместимость темы и WooCommerce. Всем большое спасибо за участие! Link to post Share on other sites
node.js 103 Posted August 15, 2015 Report Share Posted August 15, 2015 В итоге последовал совету DevilStar отключил показ ошибки в .htaccess пока, позже перековыряю , если руки дойдут, грешу на несовместимость темы и WooCommerce. Всем большое спасибо за участие! Посмотри что лежит в $places на страницах где нет данной ошибки Функция reset на сколько я помню указывает на первый элемент массива, но так как $places ничего не содержит и не определен вылетает предупреждение. Если print_r($places) в начале функции выводит постой массив [], можно вместо empty попробовать сделать так if( ! count($places)) { return; } Главное знать что содержит переменная $places Link to post Share on other sites
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now