我真的被难住了。
我有这个代码来为我正在工作的网站的英文版本加载我的textdomains。
以下代码位于函数中。php主题文件。
if(ICL_LANGUAGE_CODE == \'en\'){
$textdomainLoad = load_textdomain( SHIROI_THEME_DOMAIN, get_template_directory().\'/lang/en_US.mo\' );
load_textdomain( "site", get_template_directory().\'/lang/en_US.mo\' );
echo \'<!--textdomainloadednohook \'.$textdomainLoad.\'-->\';
}
这通常有效。但在这个网站上,它没有。我检查过了,我的textdomain是正确的。
下面的回音在页面的开头回音,这意味着文件正常并且加载正确。
但在这个网站上尤其如此。在我的页脚中,文本仍然是法语,这是我的字符串开始的语言。
我可以用什么来测试并找出挂接装置在哪里?
附言:更奇怪的是:我们在一个登台环境中运行sameish代码,在登台上运行。在生产过程中,情况并非如此。
最合适的回答,由SO网友:Fredy31 整理而成
我很想事先知道这一点。这是我的问题的解决方案,所以其他陷入困境的人可能不会在这个问题上陷入数小时。
WPML有一个字符串转换插件。如果它被激活,它似乎在load\\u textdomain之前优先通过。因此,load\\u textdomain在加载文件时起作用(给出true),但字符串转换在加载自身时会将其全部扔进垃圾箱。