Jump to content
Sign in to follow this  
WBM-PM

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

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

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

Share this post


Link to post
Share on other sites

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

function theme_print_sidebar($name, $places) {

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

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

Share this post


Link to post
Share on other sites

 

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

function theme_print_sidebar($name, $places) {

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

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

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

Share this post


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); - если он все таки существует

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...