Старые проблемы с комментами в WordPress

wordpress-icon-96

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

Тогда было предложено одно, не совсем оптимальное, но все-таки решение, сводившееся к правке кода WordPress, что, согласитесь, не совсем кошерно.

В очередной наскок на эту «особенность» мне таки удалось худо-бедно локализовать проблему: она сводится к глючной работе софта у хостера и WordPress с названием блога. Выяснилось, что проблемы с комментами проявляются при соблюдении какого-либо из следующих условий (достаточно одного):

  1. В заголовке более трех русских букв. При одной и двухбуквенных названиях блога у меня проблема не проявилась.
  2. В заголовке используется «некачественное» сочетание латинских букв, какое именно установить не удалось.
  3. Установлена любая руссификация WordPress.
  4. 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 »




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

Подписаться на комментарии (RSS)

  1. Комментирует Yakto
    26.05.2008 в 17:57
    Ответить · Ссылка

    Почему-то при комментировании здесь с другого браузера выскакивает ошибка: Error: please fill the required fields…

    Но я не об этом хотел сказать, а о том, что у меня были похожие проблемы с комментированием в WordPress 2.3.3. После того, как комментатор оставлял сообщение, он попадал на страницу 404. Как решал — сменил версию, ничего сложнее придумывать не стал. Надеюсь решение найдется.

  2. Комментирует MyasNick
    26.05.2008 в 18:05
    Ответить · Ссылка

    А в каком браузере выскакивает ошибка? В Опере? Я проверял в Огнелисе и ИЕ — там вроде все работает.

    К слову, смена версий мне не помогает :( Все упирается, похоже, в настройку sendmail у провайдера.

  3. Комментирует Андрей
    27.03.2009 в 21:48
    Ответить · Ссылка

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

  4. Комментирует MyasNick
    28.03.2009 в 21:41
    Ответить · Ссылка

    В смысле «перезагружать»? Не знаю, не могу ничего сказать. А вот «перегружать» в смысле создавать излишнюю нагрузку — еще как может. Мне чуть не каждый день алерты от хостера прилетают.

Подписаться на комментарии (RSS)

Написать комментарий