19:04

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Хао.

Сразу скажу, проблема не моя, я просто помогаю.
Есть у человека хостинг, на нём Wordpress, на котором сайт.

Некоторое время назад что-то хостеры накрутили, после чего содержимое постов (именно содержимое, заголовок и теги спокойно кириллицей пишутся) перестало отображаться, если там есть хоть одна русская буква.
На все вопросы, хостер посылает читать про htrmlspecialchars().

В общем, попросили глянуть.
К чему пришли:
1) Содержимое поста выводит the_content(), описанная в wp-includes/post-template.php и вызываемая из файла темы.
В случае наличия кириллицы, the_content возвращает пустоту.
2) the_content() получает данные из get_the_content(), которая описана в том же файлике. Если есть русские буквы, то get_the_content() также передаёт пустоту.
3) get_the_content() получает данные из get_post(), которая описана в wp-includes/post.php. И которая, тоже возвращает пустоту, если есть хоть единая русская буковка.
4) В get_post() данные попадают из переменной $GLOBALS['post'], которая является объектом.
Если есть русские буквы, то при выводе print_r($GLOBALS['post']) мы получаем вот такое

читать дальше

То бишь, в post_content получаем пустоту.

---------------------------------------------
Собсно тут я в тупике и у меня вопрос - в каком месте/файле данные из поста попадают в $GLOBALS['post']?
Собсно, куда лезть-то, чтобы решить вопрос с отображением кириллических символов?

Ибо сейчас человеку приходится вставлять содержимое постов картинками, что дичайший бред конечно, но альтернатив нет пока не разберёмся где проблема.

Комментарии
23.06.2015 в 19:24

And down, down to Goblin-town You go, my lad!
Спросите у человека, он недавно не обновлял вордпресс? Или, может, тему поменял?
У меня такое было при переходе со старой версии вордпресса на новую. Помогло сделать откат изменений, прочитать внимательно ветку форума на русскоязычном сайте вордпресса о том, как ставить новую версию, чтобы не было проблем с кириллицей (поиском нашлось с первой попытки), и установить заново так, как там и советовали.
23.06.2015 в 20:56

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Белькаэр, Это уже проверили. Тема не менялась, вордпресс как поставли, так и стоит в той версии в которой ставили.

Просто пришло уведомление от хостера, что были какие-то работы и если что - гоу читать про htmlspecialchars.
Неделю назад всё ещё фурычило. А сейчас такая вот попа.

Но на всякий случай всё же почитаю, что там в плане ошибок обновления. Может что поможет.
23.06.2015 в 21:02

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Ладно бы оно отображалось в другой кодировке. Было бы хоть понятно, с чем проблема. Но тут же вообще полный игнор содержимого поста, если хоть один русский символ есть.(
29.06.2015 в 15:14

Да кому оно нужно, это бессмертие! ##### Роланд Неистовый шел и насвистывал дырочкой в правом боку##### Фикрайтеры всех стран, объединяйтесь! Спасем героев от садистов-авторов!#####Я не Кенни! Я Эникентий Мидихлорианович!
Ryuzaki_rnd, пробовали вставлять содержимое пдфками?
30.06.2015 в 08:13

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Мэлис Крэш, Нет. Нам бы текстом.)))
30.06.2015 в 08:38

Да кому оно нужно, это бессмертие! ##### Роланд Неистовый шел и насвистывал дырочкой в правом боку##### Фикрайтеры всех стран, объединяйтесь! Спасем героев от садистов-авторов!#####Я не Кенни! Я Эникентий Мидихлорианович!
Ryuzaki_rnd, просто из пдфок текст копировать можно, и сохранять удобнее, чем картинку. Как временный костыль лучше подходит.
А что до проблемы - то 99,(9)%, что именно хостеры виноваты и не включили у себя поддержку кириллицы.
01.07.2015 в 04:26

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Мэлис Крэш, Так ведь заголовки и теги русским спокойно пишутся. Вот в чём загвоздка. Ладно бы оно всё не отображалось. Но заголовки и теги отображаются и нормальным русским языком.
Это содержимое постов вообще не отобржается. Даже кракозябликов нет. Просто пустота, если хоть один символ русский есть в содержании поста.
01.07.2015 в 06:20

Да кому оно нужно, это бессмертие! ##### Роланд Неистовый шел и насвистывал дырочкой в правом боку##### Фикрайтеры всех стран, объединяйтесь! Спасем героев от садистов-авторов!#####Я не Кенни! Я Эникентий Мидихлорианович!
Ryuzaki_rnd, заголовки и теги могут иначе кодироваться, потому что в них не нужна поддержка некоторых фич, важных для содержимого поста.
Судя по ответу хостера, возможно, кириллическую кодировку в постах теперь надо задавать через charset принудительно. Еще есть вариант, что надо поменять шрифт, хотя это и маловероятно, но в связи со шрифтом одно время выдавался похожий глюк. Или все-таки доставать хостера, чтобы сказал, что он там накрутил.
02.07.2015 в 08:18

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Мэлис Крэш, Да не, шрифт там обычный Times New Roman.)

возможно, кириллическую кодировку в постах теперь надо задавать через charset принудительно.

То есть? Я чёт туплю, о чём речь, куда что вставлять.
Проблема ж не в сбитой кодировке (оно ж даже если не та кодировка, должно отображать хоть кракозяблики), а в том что оно вообще никак не кажет себя.(
02.07.2015 в 08:40

Да кому оно нужно, это бессмертие! ##### Роланд Неистовый шел и насвистывал дырочкой в правом боку##### Фикрайтеры всех стран, объединяйтесь! Спасем героев от садистов-авторов!#####Я не Кенни! Я Эникентий Мидихлорианович!
Ryuzaki_rnd, проблема может быть в том, что кодировка обозначена неверно.
Если входная строка string содержит неверную последовательность символов в указанной кодировке charset и флаг ENT_IGNORE не установлен, то htmlspecialchars() вернет пустую строку.
Собственно, погуглила то, что вам хостер сказал гуглить. Не факт, что причина в этом, но хостер может думать, что в этом...
02.07.2015 в 10:41

Правильного ответа нет. Любой выбор приводит к жертвам, любое решение требует платы. | Лишь навык имеет значение.
Мэлис Крэш, А, ясно.
02.07.2015 в 11:13

Да кому оно нужно, это бессмертие! ##### Роланд Неистовый шел и насвистывал дырочкой в правом боку##### Фикрайтеры всех стран, объединяйтесь! Спасем героев от садистов-авторов!#####Я не Кенни! Я Эникентий Мидихлорианович!
Ryuzaki_rnd, но скорее всего, проблема таки у него, даже если дело в charset. Потому что раньше оно у вас работало. А это может значить, что у хостера после обновления пропала поддержка вашей кириллической кодировки, и верная последовательность символов воспринимается как неверная.
01.08.2015 в 12:08

Скворец подкрался незаметно
Сообщаю как собственно хозяйка проблемы: вернули версию 4.0.0, все работает. Больше не обновляемся пока.