我会感谢一些错误的帮助我无法理解......
我将网站从本地主机迁移到服务器,但现在我的语言翻译部分存在一个问题。
代码:
<?php
$locale =get_locale();
echo $locale;
$lang = require $_SERVER['DOCUMENT_ROOT'].'/wp-content/themes/template /lang/$locale.php';
?>
所以我回应了语言环境,以确定get_locale是否实际上是单词而它确实是。它返回“en_US”。在require_once的路径中,此文件存在,但如果我想保存文件,则返回:
错误: require():打开所需的'/ 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)的路径不起作用?
可能是一个愚蠢的错误,但我会喜欢一些帮助。
提前谢谢。
答案 0 :(得分:1)
您在字符串周围使用单引号,因此变量不会被替换。只需用双引号替换单引号。
"$_SERVER[DOCUMENT_ROOT]/wp-content/themes/template/lang/$locale.php"
注意wordpress,get_template_directory,get_stylesheet_directory,get_theme_root和plugin_dir_path可用于访问已配置的资产目录。