我正在尝试创建多语言wordpress网站。在functions.php中,我有自定义面包屑
$text['home'] = 'Main'; // text for Main
$text['category'] = '%s'; // text for category
if ($show_home_link == 1) echo sprintf($link, $home_link, $text['home']);
我想将_e函数放入'Main'字样,生成.po文件并将'Main'更改为所选语言。
我尝试使用
<?php _e('Main', TemplateName); ?>
代替'Main',例如
$text['home'] = '_e('Main', TemplateName)'; // text for Main
但是我得到_e('Main',TemplateName)而不是Main。
请给我一个建议,我该怎么办?我知道,问题是语法,我在php中很新。 谢谢。
答案 0 :(得分:2)
使用<?php _e('Main', 'TemplateName'); ?>
显示已翻译的字符串Main
。
如果要将值存储在变量中,则需要使用<?php $text['home'] = __('Main', 'TemplateName'); ?>
答案 1 :(得分:1)
当您用单引号包装函数时,您基本上要求PHP将其视为文字字符串。你需要做
$text['home'] = __('Main', 'TemplateName');
因为__()
函数已经根据您的PO文件返回一个字符串。如果这是主题的名称,您还需要将TemplateName
括在引号中。
由于您已经声明自己对PHP很陌生,所以请先花些时间编写自己的代码(在WordPress之外)并理解语法以及如何先处理变量。祝你好运。
编辑:感谢邦迪指出_e
回声而不是回归。我已经失去了一段时间的触摸。