加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何翻译WordPress模板名称?

发布时间:2020-12-13 13:15:26 所属栏目:PHP教程 来源:网络整理
导读:我知道如何通过使用Poedit生成.po和.mo文件来为主题和模板创建翻译.但是,由于模板名称是用每个模板文件顶部的 PHP注释编写的,所以没有办法在我看到它时进行翻译. WordPress模板标题: /** * Template Name: Three columns * * @package WordPress */ 模板名
我知道如何通过使用Poedit生成.po和.mo文件来为主题和模板创建翻译.但是,由于模板名称是用每个模板文件顶部的 PHP注释编写的,所以没有办法在我看到它时进行翻译.

WordPress模板标题:

/**
 * Template Name: Three columns
 *
 * @package WordPress
 */

模板名称由Wordpress解析,用于在创建页面时填充模板选择下拉列表.

所以我的问题是:有没有办法翻译WordPress模板名称? WordPress还会查找我可以在我的模板文件中设置的任何特定变量吗?还是只是不可能?

我最近偶然发现.这是我如何解决的:

首先,添加(如果你已经没有)Text Domain:mytext_domain到你的style.css,其中mytext_domain是你的主题的实际文本域.

然后在你的主题的某处添加一个虚拟调用到翻译功能(最好的事情是添加它在模板名称声明下,所以你不知道为什么你把它):

/**
 * Template Name: Three columns
 *
 * @package WordPress
 */
__( 'Three columns','mytext_domain' );

这样做的原因是因为WordPress将你的模板名称传递给translate()函数,但是由于翻译插件解析你的代码,他们并不知道你的模板名称应该是.po(或者是.mo)的一部分.文件.对__()的伪调用修复了该问题.

而您将Text Domain声明添加到style.css的原因是因为这是WordPress在解析模板名称时查找主题的文本域的位置.

我不能给你确切的来源,因为我真的只是围绕核心代码,直到我想出了它的工作原理,以及如何能够翻译我的模板名称.

PP:我不知道Poedit是如何工作的 – 如果您手动添加您的翻译,您可能不需要虚拟调用 – 只需测试和使用它,并使用最适合您的方式:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读