Я был бы признателен за помощь с ошибкой, я не могу обернуть голову ...
Я перенес веб-сайт с моего локального хоста на сервер, но теперь у меня есть одна проблема с языковым переводом.
Код:
<?php
$locale =get_locale();
echo $locale;
$lang = require $_SERVER['DOCUMENT_ROOT'].'/wp-content/themes/template /lang/$locale.php';
?>
Итак, я повторил локаль, чтобы узнать, действительно ли get_locale слово, и это так. он возвращает "en_US". По пути require_once этот файл существует, но если я хочу сохранить файл, он возвращает:
Error: require(): Failed opening required '/usr/home/removedusername/htdocs/wp-content /themes/template/lang/$locale.php' (include_path='.:/var/www/php55/lib/php')
Хотя я думал, что у человека с путем к файлу должна быть какая-то проблема, я заменил «$ locale.php» на «en_US.php», и он не показывает ошибки, и веб-сайт действительно работает также нормально, только сейчас, конечно, я не могу переключить язык больше, так как я не использую переменные. Почему не работает путь с включенной переменной ($ locale.php)?
Вероятно, глупая ошибка, но мне бы очень хотелось помочь.
Заранее спасибо.






Вы заключили строку в одинарные кавычки, поэтому переменная не заменяется. Просто замените одинарные кавычки двойными.
"$_SERVER[DOCUMENT_ROOT]/wp-content/themes/template/lang/$locale.php"
Примечание для wordpress, get_template_directory, get_stylesheet_directory, get_theme_root и plugin_dir_path доступны для доступа к настроенным каталогам ресурсов.