Старые проблемы с комментами в WordPress
![]()
Как я уже писал, при определенных условиях во время отсылки комментария незарегистрированным пользователем, последний видит пустую страницу. При возврате в пост, его комментария с надписью, что последний модерируется не видно, админ блога не получает уведомления о комменте на модерацию, но в панели управления коммент виден на стадии модерации.
Тогда было предложено одно, не совсем оптимальное, но все-таки решение, сводившееся к правке кода WordPress, что, согласитесь, не совсем кошерно.
В очередной наскок на эту «особенность» мне таки удалось худо-бедно локализовать проблему: она сводится к глючной работе софта у хостера и WordPress с названием блога. Выяснилось, что проблемы с комментами проявляются при соблюдении какого-либо из следующих условий (достаточно одного):
- В заголовке более трех русских букв. При одной и двухбуквенных названиях блога у меня проблема не проявилась.
- В заголовке используется «некачественное» сочетание латинских букв, какое именно установить не удалось.
- Установлена любая руссификация WordPress.
- Collation поля Option_Value таблицы опций отличен от utf8_general_ci.
Исходя из этого дыру можно залатать без применения хирургии в коде.
Нужно убрать руссификацию, либо заменить исходники WordPress оригинальными, в настройках блога сменить название на «безопасную» комбинацию латинских букв (проверяется, как и все, комментированием из незалогиненного состояния), а правильное название блога жестко пропечатать в текущем темплейте. Если используете All in One SEO, не забудьте заменить в его настройках %blog_title% на то, что нужно вам.
Update от 18.04.2008:
Выясняется, что в принципе не важно от чего, глючит именно встроенная в WordPress система отправки электропочты. Вышеприведенный способ борьбы с этим через задницу, простите, посредством яростного камлания вокруг названия блога, тоже эффективен далеко не на 100 процентов.
Есть еще один способ решения проблемы, не нарушающий другой функциональности блога: установите и настройте плагин wpPHPMailer и будет вам щастье. Плагин отправляет почту минуя sendmail напрямую через указанный в настройках SMTP-сервер.
Hint: Указывайте SMTP-аккаунт отличный от адреса, указанного вами в настройках профиля администратора. Сам себе он шлет почту плохо.
Упдате от 06.06.2008:
Рекомендую пользоваться руссифицированной версией wpPHPMailer от Lecactus »



17.04.2008 в 00:21
· Ссылка
[...] Update: вот альтернативный вариант решения проблемы без хирур… [...]
26.05.2008 в 17:57
· Ссылка
Почему-то при комментировании здесь с другого браузера выскакивает ошибка: Error: please fill the required fields…
Но я не об этом хотел сказать, а о том, что у меня были похожие проблемы с комментированием в WordPress 2.3.3. После того, как комментатор оставлял сообщение, он попадал на страницу 404. Как решал – сменил версию, ничего сложнее придумывать не стал. Надеюсь решение найдется.
26.05.2008 в 18:05
· Ссылка
А в каком браузере выскакивает ошибка? В Опере? Я проверял в Огнелисе и ИЕ — там вроде все работает.
К слову, смена версий мне не помогает :( Все упирается, похоже, в настройку sendmail у провайдера.
27.03.2009 в 21:48
· Ссылка
а может ли движок блога перегружать сервер хостера? Кто знает?
28.03.2009 в 21:41
· Ссылка
В смысле «перезагружать»? Не знаю, не могу ничего сказать. А вот «перегружать» в смысле создавать излишнюю нагрузку — еще как может. Мне чуть не каждый день алерты от хостера прилетают.