«

»

Ноя 20 2014

Устаревшие функции wordpress

Маленький человек может сделать многое.

Устаревшие функцииЗдравствуйте коллеги!

Надеюсь, что сегодняшний пост блога будет для Вас полезен.

В статье Дубли медиафайлов я рассказывал как wordpress создает множество копий, загружаемых вами изображений.

А тут столкнулся с ошибками, которые образуются при обновлении тем и плагинов. При этом движок сообщает: «Устаревшие функции wordpress». И вот решил поведать вам.

Однако ошибок этих не заметно, но сайт работает неправильно. Например, не публикуются комментарии, не очищается корзина спама, не определяются существующие посты и так далее. Но эти ошибки не видны при стандартом файле wp-config.php.

Как увидеть уведомления вордпресс об ошибках?

Делается это с помощью debug режима. Открываем wp-config.php и ищем строку: define(‘WP_DEBUG’, false)

и меняем её на:

define(‘WP_DEBUG’, true);

define(‘WP_DEBUG_LOG’, true);

define(‘WP_DEBUG_DISPLAY’, true);

Тогда WordPress в шапке консоли будет сообщать Вам об ошибках. Эти ошибки разнообразные и устранение их не всегда понятное, если не владеешь PHP. Например, я беру ошибку:

Notice: Функция add_custom_background с версии 3.4 считается устаревшей! Используйте add_theme_support( ‘custom-background’, $args ). in /home/31264/public_html/wp-includes/functions.php on line 3201 

Обращаюсь на форум WordPress.org, где модератор форума, и многие в интернете, уточняют, что Notice — это не ошибка, а уведомление о несовпадении атрибутов новой версии вордпресс с функциями старой темы или плагина.

Иду  на хостинг. А на хостинге в техподдержке сказали, что именно это предупреждение порождает последующие ошибки и поэтому не работают комментарии, не загружаются медиафайлы, не добавляются новые посты.

В интернете нашел, что это связано с файлом functions.php темы. А именно, ищем в этом файле функцию add_custom_background :

Устаревшая функция

Заменяете на

Устаревшая функция темы

Но у меня в теме ничего менять не надо, там всё правильно написано. Открываю файл functions.php в WordPresse и в строке 3201 ничего не нахожу, чтобы исправить? А честно сказать, не знаю что править.

Вновь роюсь в недрах интернета и нахожу следующее. Умные головы советуют проверить файлы на наличие пробелов в коде перед < ?php и после ?>, наличие пустых строк в начале и конце файла, проверить кодировку UTF8 на наличие BOM и перекодировать файлы wp-config.php, functions.php темы и ворпресс, а затем сохранить и залить снова на хостинг.

Сделал всё как сказали. Проверил, перекодировал, перезалил. Но блог толком не работает.

Снова начинаю ходить по интернету и искать нужную информацию на форуме WordPress. Модератор форума предложил следующее:

Переустановка ворпресс

Перезалил тему, перезалил ворпресс – ноль по вдоль. Вот, думаю влип. Это хорошо для тех кто понимает в программировании на PHP.

А я-то просто пользователь со своим блогом. Уже как три недели ничего исправить не могу. Сайт упал в посещениях. Я в полном трансе. Злость на весь интернет и свою беспомощность.

У меня не загружаются медиафайлы, не публикуются комментарии, не сохраняются изменения статей и не публикуются новые, зарегистрированные пользователи не могут получить пароль для входа и так далее.

Тогда я стал переводить все сообщения, которые выдает вордпресс. Оказалось очень много сообщений о плагинах WPPage и WP Super Cache.

Я решил их деактивировать и посмотреть на работу движка. Оказалось, что действительно эти два плагина конфликтуют с вордпрессом. Больше всего WP Super Cache.

Резюме:

  1. Делаем режим просмотра сообщений об ошибках define(‘WP_DEBUG’, true);
  2. Отключаем поочередно плагины и проверяем работу вордпресс;
  3. Сообщаем создателям плагинов об ошибках, которые создают их плагины;
  4. Устраняем пробелы перед <?php и после ?> в файлах wp-config.php, functions.php;
  5. Проверяем кодировку UTF8 на наличие BOM и перекодировать без BOM  wp-config.php, functions.php;
  6. Не используйте для редактирования файлов программу Блокнот.
  7. Обращаемся на форумы и лазаем по интернету, ищем ответы;.
  8. Отключаем режим просмотра для комфортной работы.

На сегодня всё.

Пока. До встречи в статье «Как найти и удалить битые ссылки?»

С уважением, Николай Иванов.

Не жадничай на комментарий и расскажи друзьям.

3 комментария

  1. Vavanina

    Листапарт», заметил, что многие западные дизайнеры имеют глубокие знания в ЦСС и фронтенде. Как вы думаете, должен ли дизайнер целенаправленно изучать вёрстку и разработку для веба?

    1. Nikolay

      А тогда какой он дизайнер?

  2. Stankopil.ru

    Всем привет! Время не стоит на месте и каждый раз после очередного обновления WordPress в ядре появляются новые функции. Если раньше большинство нестандартных на тот момент задач приходилось реализовывать с помощью дополнительного программирования, то сейчас ситуация меняется. Прослеживается четкая тенденция расширения функциональности из коробки.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *