Для работы WPML необходимо следующее:

  • WordPress 4.4 или более поздние версии
  • PHP 5.6 или более поздние версии с минимальным объемом памяти 128Мб, хотя рекомендуется 256Мб (см. Настройки памяти WP). Обратите внимание, что требуемый объем памяти для вашего сайта зависит от его контента, темы и всех плагинов.
  • MySQL 5.6 или более поздние версии.
  • Права для создания таблиц в базе данных.
  • Для правильной работы WPML необходимо включить WordPress REST API.
  • Расширение многобайтных строк для использования WPML String Translation.
  • Расширение SimpleXML для использования XLIFF-файлов в WPML Translation Management.
  • PHP-функция eval() должна быть включена. Подробнее в разделе об eval().

Использование более ранних версий PHP и MySQL

WPML может работать и на более ранних версиях PHP и MySQL, но мы не можем этого подтвердить. Если вы используете более ранние версии, советуем использовать режим отладки WPML. Благодаря этому можно узнать о возможных ошибках PHP и ошибочной работе системы.

Здесь вы можете оставлять комментарии об использовании WPML с другими версиями.

Проверка используемой версии PHP

Некоторые поставщики веб-размещения установили у себя PHP5 и PHP7. Самый лучший способ определения используемой версии – отправить запрос к самому PHP-обработчику (не специалист поставщика веб-размещения).

Создайте файл с именем php_info.php и разместите его в свой каталог WordPress (туда же, где расположен wp-config.php). Содержимое этого файла должно быть следующим:
<?php phpinfo(); ?>

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

После его загрузки откройте браузер и перейдите по адресу: https://yourdomain.com/php_info.php.

Вы должны увидеть что-то такое:

PHP-версия сервера в php-info.php
PHP-версия сервера в php-info.php

Вверху показана версия используемой PHP. Если вы видите Версию 5,5, ничего не будет работать. Лучше всего обратиться к своему поставщику веб-размещения и спросить, как включить PHP 5.6 или более позднюю версию.

Структура постоянных ссылок

WPML добавляет сведения о языке к URL-адресам. Плагин был протестирован со следующими структурами постоянных ссылок:

  • По умолчанию
  • /%год%/%номермесяца%/%имязаписи%/

Объяснение:

Другие структуры постоянных ссылок также могут работать, но есть возможность возникновения ошибок в разных конфигурациях. На всех своих сайтах мы используем /%год%/%номермесяца%/%имязаписи%/.

Для страниц используются те же URL-адреса, что и для /%имязаписи%/. Однако, с данной структурой постоянных ссылок WordPress не спутает страницы и записи, что может быть причиной проблем с различением языков.

Использование функции eval()

Функция eval() должна быть включена, поскольку WPML использует платформу TWIG для своей структуры и шаблонов, отчего становится зависимым от этой функции.

Выяснилось, что в самых распространенных механизмах создания шаблонов, например Smarty и TWIG, быстрее писать код PHP в файл. Таким образом, он может воспользоваться преимуществами кеширования OPcode и избежать необходимости создания кода шаблона во время выполнения.

TWIG проводит много проверок и очисток во избежание возможных атак, и его безопасно использовать вместе с WPML. Но мы не можем гарантировать, что другие разработчики выполнили те же проверки, что и мы во время нашего контроля качества.

Мы пока работаем над возможными способами решения, для которых не будет необходимости компилировать шаблоны на ходу и которым не будет нужна функция eval(). Все же, это лучшее решение на данный момент.

Обратите внимание, что обычно невозможно отключить функцию eval() в PHP, но некоторые расширения, такие как Suhosin, могут это сделать. Ваш хостинг-провайдер может установить и настроить эти расширения.