Поддержка Проблемы и решения Как устранить ошибку Missing argument 2 for wpdb::prepare()

  • Решено maksimkorolenko

    (@maksimkorolenko)


    Сегодня после обновления WordPress до 3.5 на всех страницах моего сайта в заголовке прописана одна и та же фраза: Warning: Missing argument 2 for wpdb::prepare(), called in /home/otdih/public_html/wp-content/plugins/nextgen-gallery/lib/tags.php on line 318 and defined in /home/otdih/public_html/wp-includes/wp-db.php on line 990

    Вопрос как устранить данную проблему и убрать эту фразу?

    Сайт: otdih.dp.ua

    [Тема переименована для большей информативности.]

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Ошибка в плагине NextGEN Gallery.

    Функция wpdb::prepare() теперь требует два аргумента, поскольку с одним использовать её не имеет смысла: http://core.trac.wordpress.org/ticket/22262

    Варианты решения:

    1. Подождать следующей версии плагина — скорее всего, она выйдет уже скоро. Сообщение об ошибке можно отключить, добавив строку в wp-config.php:
      @ini_set('display_errors', 0);

      Но не забыть убрать её, если вдруг появится белый экран.

    2. Исправить ошибку самостоятельно, убрав вызов $wpdb->prepare() в строке 318 файла nextgen-gallery/lib/tags.php:
      $term_ids = $wpdb->get_col("SELECT term_id FROM $wpdb->terms WHERE slug IN ($sluglist) ORDER BY term_id ASC ");

    Сергей, спасибо огромное, все получилось!

Просмотр 2 ответов — с 1 по 2 (всего 2)
  • Тема «Как устранить ошибку Missing argument 2 for wpdb::prepare()» закрыта для новых ответов.