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

前端之家收集整理的这篇文章主要介绍了php – 如何翻译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是如何工作的 – 如果您手动添加您的翻译,您可能不需要虚拟调用 – 只需测试和使用它,并使用最适合您的方式:)

猜你在找的PHP相关文章