gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 01:07:14 25 4
gpt4 key购买 nike

我知道如何创建主题和模板的翻译,例如使用 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?)文件。对 __() 的虚拟调用修复了该问题。

之所以在 style.css 中添加 Text Domain 声明,是因为 WordPress 在解析模板名称时会在此处查找主题的文本域。

我无法给你确切的来源,因为我实际上只是研究了核心代码,直到我弄清楚它是如何工作的以及如何能够翻译我的模板名称。

PP:我不确定 Poedit 是如何工作的 - 如果您手动添加翻译,您可能不需要虚拟调用 - 只需测试有或没有它,然后使用最适合您的那个:)

关于php - 如何翻译WordPress模板名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13561410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com