Нормализация буквы Й или почему картинки на сайте WordPress перестали загружаться

Основная

Редкая ситуация, но произошла. Купил сайт, перенес с Majordomo на Beget, и часть картинок перестала загружаться. Именно та часть, где была буква «й».

Подобная история у нас была с транслитерацией урлов в плагине Clearfy Pro.

Оказывается есть два варианта написания буквы Й.

1 символ — “й” (Cyrillic Small Letter Short I)
2 символа — “и” (Cyrillic Small Letter I) и Combining Breve (“шляпка”)

То есть второй вариант это буква И и отдельно ее шляпка. Вот такой вариант видимо нормально работал на старом хостинге и перестал открываться на новом. Либо при переезде произошла замена.

Чтобы вручную не ковырять сотни файлов, была написана утилита, которая заменяем все Й неправильные в директории /wp-content/uploads/.

Скачайте, разархивируйте и положите в корень сайта файл normalize-y.php.

Запустите его. Это будет тестовый запуск, он только покажет какие файлы были найдены для замены.

Чтобы отключить тестовый запуск и переименовать файлы, откройте файл и замените в последнюю строчку на:

normalizeDirectory($rootDirectory, false);

Повторно запустите скрипт и он выполнит переименование.

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

На этом все. У меня все картинки заработали.

Оцените решение в статье:

Сергей Алейников
Оцените автора
Добавить комментарий