function.php 中的 wordpress _e 函数

wordpress _e function in function.php

我正在尝试创建多语言 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 函数放入 word 'Main',生成 .po 文件并将 word 'Main' 更改为所选语言。

我正在尝试使用

<?php _e('Main', TemplateName); ?>

而不是'Main'比如

$text['home'] = '_e('Main', TemplateName)'; // text for Main

但我得到的是 _e('Main', TemplateName) 而不是 Main.

请指教,我该怎么做?我知道,问题出在语法上,我是 php 的新手。 谢谢。

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

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

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

既然你说你是 PHP 的新手,请先花点时间编写你自己的代码(在 WordPress 之外)并首先理解语法和如何处理变量。祝你好运。

编辑:感谢 Bondye 指出 _e 回声而不是 returns。好久没联系了

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

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