Jump to content

Ошибка, помогите исправить


Recommended Posts

Доброго времени суток!
В 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

$places пустой вот и все

или содержит неверную запись

по тексту ошибки я это тоже понял)) а вот где ковырять?)

Link to post
Share on other sites

по тексту ошибки я это тоже понял)) а вот где ковырять?)

 

ковырять в том месте где вызывается функция theme_print_sidebar, и смотреть что за $places в нее передают

Ошибка не критична, просто отключите показ ошибок

 

если хотите исправить ищите вызов функции и isset вам в помощь, это так на вскидку

Link to post
Share on other sites

 

С PHP давно уже не работал и по забывал все, но попробуй после строки

function theme_print_sidebar($name, $places) {

Сделать проверку

if(empty($places)) {
	return;
}

не помогло - после этого выводит сайдбар дважды))

Link to post
Share on other sites

не помогло - после этого выводит сайдбар дважды))

 

правильно потому как $places это массив

 

скорее

if ($name != 'footer' && $place_count < 2 && isset($places)) {
		theme_print_widgets(reset($places), $style);
		return;
	}

Но это проверка на существование, не зная что и как лежит в нем не поймешь

 

для этого в начале функции print_r($places); - если он все таки существует

Link to post
Share on other sites

В итоге последовал совету DevilStar отключил показ ошибки в .htaccess

пока, позже перековыряю , если руки дойдут, грешу на несовместимость темы и WooCommerce.

Всем большое спасибо за участие!

Link to post
Share on other sites

В итоге последовал совету DevilStar отключил показ ошибки в .htaccess

пока, позже перековыряю , если руки дойдут, грешу на несовместимость темы и WooCommerce.

Всем большое спасибо за участие!

Посмотри что лежит в $places на страницах где нет данной ошибки

Функция reset на сколько я помню указывает на первый элемент массива, но так как $places ничего не содержит и не определен вылетает предупреждение.

Если print_r($places) в начале функции выводит постой массив [], можно вместо empty попробовать сделать так

if( ! count($places)) {
   return;
}

Главное знать что содержит переменная $places

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...