Ошибка: Warning: Missing argument 2 for wpdb::prepare(), - после обновления на 3.5

Ошибка: Warning: Missing argument 2 for wpdb::prepare(), - после обновления на 3.5

После обновления WordPress к версии 3.5 на некоторых сайтах вылезли ошибки. Ошибки относятся к запросам.

Вот пример на одном из пациентов на котором стоит тема Classipress 3.1.8 (ошибка вылазит когда открываем категории):

Warning: Missing argument 2 for wpdb::prepare(), called in /**************/includes/theme-refine.php on line 27 and defined in /**************/wp-includes/wp-db.php on line 990

Вот код (файл theme-refine.php, строка 27 ):

Вылазила еще одна ошибка в админке (когда заходим в настройки темы):

Warning: Missing argument 2 for wpdb::prepare(), called in /**************/wp-content/themes/classipress_318/includes/admin/admin-options.php on line 842 and defined in /***************/wp-includes/wp-db.php on line 990

Вот код (admin-options.php, строка 842):

Что это за ошибки и почему они возникают?

На версии WordPress 3.4.2 они не возникали в теме Classipress 3.1.8. Так в чем же дело?

Оказывается изменился файл wp-includes/wp-db.php

Версия 3.5 (строка 990):

Версия 3.4.2 (строка 893):

Этот код насколько я понимаю использует 2 аргумента. Последний аргумент и вызывает ошибку. Чтобы решить проблему нужно добавить пустой массив данных в этот аргумент, или поставить null в нужных местах (где появляются ошибки, или двойные кавычки вместо аргумента.

Разработчики обещали решить эту проблему в следующем обновлении.

Но мы можем уже сейчас решить наши проблемы, чтобы не делать откат на старую версию WordPress.

Я предлагаю несколько решений:

1 вариант: замена кода в файле wp-includes/wp-db.php (строка 990).

Мы заменяем этот код:

на этот:

Проверяем работоспособность сайта — у меня ошибки пропали и сайт работает нормально.

2 вариант: работаем с аргументами в тех местах, где возникают ошибки.

В ф-цию в файле theme-refine.php, строка 27 добавляем null:

В ф-цию в файле admin-options.php, строка 842 также добавляем null:

Проверяем работоспособность сайта — у меня ошибки пропали и сайт работает нормально.

Можно вместо ,null добавлять ,»». Или ,array()

3 вариант:

старый код с ошибкой:

заменили на:

4 вариант:

Ну и на крайняк можна вообще скрыть все ошибки — но считаю это отклонением от нормы (скрывать ошибки нужно, но не от себя).

Добавьте в файл wp-config.php этот код:

Выбирайте удобный для вас вариант, исправляйте ошибки и ждите обновления. Удачи!

Рейтинг 0/5 (0 голосов)
 

24
Добавить комментарий

avatar
13 Цепочка комментария
11 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
15 Авторы комментариев
Николай ПекарскийЛюсиDizer7СергейРоксана Авторы недавних комментариев
Gragam
Гость
Gragam

Спасибо огромное!!! Я пол дня потратил и решения не нашел))) А Ваш первый способ помог идепльно.

Евгений
Гость

Спасибо, помогло.

Nick
Гость
Nick

Помог первый способ. Супер! Спасибо!
Но не могу решить другую проблему с Classipress. Когда не авторизован сайт выглядит отлично, как нажимаю войти в wp пи…ц. =-O Кодировка улетает, не сайт а абра-кодабра (ОбъявленияКатегории). Как с этим бороться? Помогите!!!

Ivan
Гость

eto na lokalke tak….na hostinge vseo norm budet

Евгений
Гость

Спасибо мужик, реально помог!)

Виктория
Гость
Виктория

Здравствуйте! У меня не работает постраничная навигация, подскажите, как ее настроить? Тема Classipress 3.1.5.

sergey
Гость

WP-3.6 ошибка в строке 992, реально помог первый вариант, другие не пробовал.
Спасибо. По данному вопросу, на сегодня(08.08.2013), inweb.in.ua третий в топе.
*CRAZY*

Олег
Гость

Благодарю за пост, оказалось к стати в одном шаблоне появилась данная ошибка. Скажите пожалуйста, какой плагин вы используете для генерации QR-кода к каждой статье? Заранее благодарю.

Fira
Гость

Спасибо, помогло.

Andy
Гость
Andy

Спасибо!!!

Макс
Гость

Пошел по первому варианту, все работает!
Расцеловал бы автора…

Роксана
Гость
Роксана

Спасибо, помогло — сделала как в первом варианте!

Сергей
Гость
Сергей

Здравствуйте, помогите устранить эту ошибку, установил тему ClassiPress 3.3.1
Fatal error: Class ‘scbPostMetabox’ not found in Z:\home\localhost\www\……..\wp-content\themes\classipress3\framework\admin\class-meta-box.php on line 8 очень нужно установить такую тему вот фрагмент того кода class APP_Meta_Box extends scbPostMetabox {

public function __construct( $id, $title, $post_types = 'post', $context = 'advanced', $priority = 'default' ) {
parent::__construct( $id, $title, array(
'post_type' => $post_types,
'context' => $context,
'priority' => $priority
) );
}

Люси
Гость
Люси

Добрый день. У меня на сайте выдает вот такую ошибку(((

Warning: Missing argument 2 for Blossomthemes_Toolkit_Admin::bttk_updated_category_image(), called in /xxx/xxx/xxx/wp-includes/class-wp-hook.php on line 288 and defined in /xxx/xxx/xxx/wp-content/plugins/blossomthemes-toolkit/admin/class-blossomthemes-toolkit-admin.php on line 191

на строке 191 в плагине blossomthemes-toolkit написано следующее
public function bttk_updated_category_image ( $term_id, $tt_id) {

Помогите пожалуйста! Что мне надо здесь исправить, чтобы ошибка ушла?
Заранее спасибо.