После очередного крупного обновления WordPress 5.5 (если не ошибаюсь вышло 12 Августа 2020-г) у многих владельцев сайтов выскакивают в работе сайта те или иные ошибки.
Сегодня разберёмся с одной из таких ошибок, а именно поправим отработку комментариев сайта. Ко мне обратилось много админов с просьбой поправить шаблон (у некоторых из них сайты работают с темами flexithemes): на сайте перестал работать виджет, который выводит “Последние комментарии”. Этот баг можно было спрогнозировать заранее… если в коде “комментариев” используется SQL запрос. Дело в том, что теперь (после обновы) пустая строка в поле comment_type
имеет, скажем так ясности для, значение comment. и именно в следствие этих изменений в обновлении, сыпятся подобные ошибки.
В принципе, именно эта ошибка достаточно легко поправляется, если у админа имеются кое-какие знания по работе с сайтом.
По статье ниже… исправим ошибки, а также будут даны ссылки на полезные статьи.
- обновление WordPress 5.5
- после обновления WordPress 5.5 перестали работать комментарии
- возможные ошибки в обработке комментариев WordPress 5.5
- не выводятся комментарии в записях, страницах
- не работает виджет последних комментариев
- поправляем Базу Данных после обновления WP 5.5 – таблица wp_comments поле comment_type
обновление WordPress 5.5
Большинство владельцев сайтов, после того, как сталкиваются с теми или иными проблемами, вызванными обновлениями cms, – решаются откатить движок назад и забыть о казусе, как о страшном сне.
Не советую этого делать! Обновлять WordPress всегда нужно, хотя это предприятие парою несет некоторые неудобства.
Целесообразнее ошибки поправлять постепенно – по мере выявления… иначе в будущем обязательно !! потерпите крах в том или ином проявлении.
Придётся раскошелиться, чтоб восстановить работоспособность сайта.
Настраивайте резервное копирование сайта: храните какое-то время копии Баз Данных и файлов… а так же весьма эффективно ! испытывать обновления на тестовом сайте (как создать тестовый сайт за 5 минут), прежде чем запускать их на активном.
Чаще всего баги вылезают в случаях обновления WordPress у любителей плагинов… тех админов, которые по всякому мелкому поводу прибегают к расширениям… В основном, этим лениво и бездумно занимаются не сами владельцы сайтов, а так называемые nick администраторы, коим грош цена и коих же по всем биржам, как собак.
Впрочем, понятно – это же не их личный сайт… а долгосрочное сотрудничество им не выгодно, потому как (на ихний взгляд) разовый кидок вкуснее.
Короче, если плагины несвоевременно обновляются (либо разработчики плагинов не спешат с обновами) – жди ошибки. Попросту говоря, от несоответствий, неактуальности кодов – естественно возникают те или иные ошибки.
В WordPress 5.5 обновление jQuery вызывает множество ошибок! так что внимательнее к используемым плагинам… а также к темам, в которых использованы библиотеки jQuery и которые не обновляются.
Если у вас подобная ситуация, то как ни крути придётся обновить jQuery в соответствии с новыми требованиями.
Касательно jquery-migrate:
Некоторые веб-мастера, исправляют ошибки обновлений WP просто – откатывают сайт до прежних версий, например, при помощи плагина Enable jQuery Migrate Helper.
То есть откатывают одно из внесенных 5.5 изменений.
В обновлении WordPress 5.5 в ядро (по умолчанию) теперь добавлена WordPress 5.5 wp-sitemap.xml XML-карта сайта. Сторонние плагины для генерации XML-Карты сайта теперь не нужны!
после обновления WordPress 5.5 перестали работать комментарии
По сегодняшней теме ошибка чаще всего связана с тем, что в БД в таблице wp_comments
(относящейся к функциям комментирования) пустая строка в поле comment_type после обновления 5.5 имеет тип 'comment'
А посему некоторые старые темы (которые не обновляются разработчиком) могут преподнести сюрпризы. Например – комментарии будут работать с ошибками.
Большинство админов, которые обратились ко мне по поводу ошибок, связанных с обновлением WordPress 5.5, сетуют именно на то, что у них перестали корректно выводиться (в сайдбарах, к примеру) последние комментарии.
По обновлениям WP:
Что нового в WordPress 5.6.
Обновление обновление WordPress 5.5
Одно из прошлых важных обновлений: WordPress 5.0 – добавлен визуальный редактор Gutenberg.
Обновление WordPress – версия 4.9
Обновление WordPress – виджеты: widget text class ats текстовый виджет для работы с php и шорткодами версия обновления WordPress 4.8
редактирование записей в текстовом редакторе сайта работает неправильно – кэшируется версия обновления WordPress 4.6 (плагин NOCacheAdminca )
Что делать, когда через админку WordPress не обновляется
Тем, которые знакомы с ситуацией, когда невозможно обновить ни один плагин через административную панель WordPress, этот коротенький пост посвящается.Решаем задачу ни один плагин или шаблон?
возможные ошибки в обработке комментариев WordPress 5.5
не выводятся комментарии в записях, страницах
В этом случае, стоит искать ошибку где-то в вызове функции комментариев.
…к примеру, если комментарии выводятся как-то так: <?php comments_template( '', true ); ?>
– внимание! пустая строка ' '
теперь должна быть заменена значением comment.
примерно так:
<?php comments_template( 'comment', true ); ?>
Не факт, что у вас будет именно таким образом реализовано. Я показываю всего-лишь суть предприятия поиска ошибок.
не работает виджет последних комментариев
Например, если в коде виджета используется запрос к БД, чтобы выводить последние комментарии, то, если тема достаточно старая, будут ошибки.
1) Для того, чтобы восстановить работу виджета комментариев, будем изменять запрос к БД.
Исправляем теперь уже ошибку в запросе: (я показываю часть примерного запроса – вам главное понять суть правок)
...
LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID)
WHERE comment_approved = '1' AND comment_type = '' AND post_password = ''
ORDER BY comment_date_gmt DESC
...
AND comment_type = ''
– данные поля поправим так: AND comment_type = 'comment'
– т.е добавляем comment
После правок код запроса к БД будет в соответствии с обновлением.
Однако, это ещё не всё! для окончательных правок весьма кстати поправить БД.
Подробности можно взглянуть в этой ветке Use ‘comment’ instead of ” for the comment_type db field for comments wordpress.org.
поправляем Базу Данных после обновления WP 5.5 – таблица wp_comments поле comment_type
Суть ошибки:
Если взглянуть в Базе Данных на данные поля comment_type, то, до нынешнего обновления ВП, строковое значение было пустым (т.е. не было значения comment). Теперь же строка имеет значение (фото ниже)…
Текущий процесс обновления ВП включает в себя и обновление Базы Данных, однако, автоматическое обновление БД по тем или иным причинам не всегда отрабатывает правильно! и в данном случае прежние ПУСТЫЕ строковые данные в БД изменены не будут!! так как это (скажем так) пользовательский тип данных: решение оставлено на откуп админу.
…в следствие того, что строка пустая, код вывода комментариев не будет отрабатывать должным образом, попросту все НОВЫЕ комментарии перестанут выводиться. Не будет того значения, к которому код мог бы прицепиться и вытянуть из бд данные.
Если строка пустая: старые комментарии выводиться будут! Новые будут…
Решение:
Целесообразно (если мы поправили код темы по примеру выше) поправить и данные БД. Должно быть так, как показано на картинке ниже:
Данные в таблице (в поле comment_type
) нужно обновить, чтобы все новые и старые комментарии выводились корректно!
Для того, чтобы изменить значения поля, поработаем в недрах БД. Заходим в PhpMyAdmin.
…переходим в соответственные настройки:
Откроем опцию – SQL запрос:
Сформируем запрос по примерному шаблону:
UPDATE tbl SET fld = 'empty' WHERE fld = '' OR fld IS NULL
Поправим шаблон запроса под себя: у нас получится так (т.е. добавим значение для ПУСТОГО поля comment_type ЭТО: comment) – для все строк!!
UPDATE wp_comments SET comment_type = 'comment' WHERE comment_type = '' OR comment_type IS NULL
Если всё сделаете правильно и запрос отработает корректно, пустая строка в поле будет с новым значением ‘comment‘.
После правок все старые и новые комментарии будут выводиться корректно!
Если что-то у вас не получается, обращайтесь… помогу – мои услуги.
Подключаем Турбо страницы Яндекса.
Отключаем Турбо страницы:
mihalica.ru !
Да, с комментариями и я попала под раздачу ошибок))
Все получилось с этим новым полем.
Спасибо.
Бывает!.. ))
Миха, привет! Я тоже попал под раздачу, почитал статью, думал сейчас исправлю. А хрен там, без пол литра никак. Так что я пока буду без комментариев. Просто у меня шаблон стрельнутый на мвсю голову и неправильный ((( В нем чтоб что то найти нужно пачку соли сожрать.
Привет!
ищи по файлам через поиск (у тебя плагином Комменты выводят?)… Или пришли шаблон (если в коде шаблона), сделаю: у меня есть свободное время.
хотя, неплохо бы и в БД поправить значения.
Заметь, бесплатно))
Вот так и попадаешь в зависимость ((( Шучу конечно. Я напишу тебе на скайп.
Вот так и попадаешь… да-с))
Я там тебе рекламку сделал небольшую. ))) Так что заходи в гости.
ОК… посмотрим…
Спасибо огромное за своевременную статью. Комментарии появились, но стилизация не работает теперь. Неделю голову ломаю… Может быть есть мысли по этому поводу?
И вам, Наталья, спасибо, за комментарий!
Не понял… дизайн блока комментов нарушен, что ли..? Опишите подробнее суть, разберемся…
PS
(у вас на сайте есть упоминание о Тамбове, это что значит? Бывали?)
Разбираться откуда ноги растут особо некогда. Слетели стили комментариев после обновления 5.5. Переписываю заново вручную, так как нравится “новому” WordPress. Пока это самый простой выход из ситуации.
PS О своем автопутешествии из Тамбова на Байкал в одной из публикаций рассказали друзья нашего блога)
Странно то, что стили слетели… Ну, может, я чего не допонял))
PS
Ясно… друзья из Тамбова, это хорошо)
Купил тему у flexithemes года 2 назад. Через какое-то время отвалился сайт из-за обновления до 5.1. FlexiThemes тогда быстро все пофиксили. Потом я сам сайт забросил и вот решил пару месяцев назад реанимировать, и бах – обновление 5.5. Перестало работать внесение изменений через их панель управления темой. Проблему решил пока что jQuery Migrate Helper. Кстати, если будет статья на эту тему – будет просто прекрасно.
Но суть коммента не об этом. Уже неделю долблюсь в их поддержку за помощью – тишина. На форуме ответов нет. Живет только твиттер – там выходят посты каждые день. Очень плохо, если контора свернула деятельность и поддержку тем вцелом.
Вы правы! много из-за обновлений ВП случалось багов вкупе с Флекси темами. С обновой 5.1 конфликтовала переменная $theme шаблона.
Но подобные казусы не только в темах flexithemes: обновления, к сожалению, несут частенько некоторые неудобства.
Статья по теме jQuery Migrate может быть будет, однако, всё смотря по запросам…
…
То, что могут свернуть деятельность – не знаю… Вполне возможно…
Однако, не стоит отчаиваться. Шаблоны, по сути, достаточно простые… Но при этом очень даже неплохие, как конструкторы! можно сделать какой угодно сайт.
Очень полезная статья, особенно для тех, кто, как и я, вплотную столкнулся с трудностями вордпресс.
Спасибо за работу!
Сложное дело соответствовать обновлениям)