function.php中的wordpress _e函数

时间:2015-06-03 09:28:15

标签: php wordpress translation

我正在尝试创建多语言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中很新。 谢谢。

2 个答案:

答案 0 :(得分:2)

使用<?php _e('Main', 'TemplateName'); ?>显示已翻译的字符串Main

如果要将值存储在变量中,则需要使用<?php $text['home'] = __('Main', 'TemplateName'); ?>

答案 1 :(得分:1)

当您用单引号包装函数时,您基本上要求PHP将其视为文字字符串。你需要做

$text['home'] = __('Main', 'TemplateName');

因为__()函数已经根据您的PO文件返回一个字符串。如果这是主题的名称,您还需要将TemplateName括在引号中。

由于您已经声明自己对PHP很陌生,所以请先花些时间编写自己的代码(在WordPress之外)并理解语法以及如何先处理变量。祝你好运。

编辑:感谢邦迪指出_e回声而不是回归。我已经失去了一段时间的触摸。