ACF双语自定义字段标签(免费版)

时间:2018-04-30 14:48:34

标签: wordpress localization internationalization advanced-custom-fields custom-fields

我正在使用自定义字段(使用free version of ACF)向相应的自定义帖子类型条目添加其他有时需要的格式化内容。我整理了一个特定于站点的小插件,其中包含用于将自定义字段添加到摘录和内容的过滤器,并通过循环将它们作为列表列出:

__()

该网站应提供英语和德语版本。使用Sublanguage plugin,我可以翻译大部分网站,但不能翻译自定义字段标签。

从我在i18n / l10n和Wordpress上阅读的内容中,我了解到在创建自定义字段时我最好使用acf/init作为标签。由于自定义字段创建是通过ACF插件代码实现的,我假设我必须创建字段&#34;我自己&#34;这样我就可以使用<% f.fields_for(@user.rolable) do |rf| %>做多语言标签了。我想,我会用Loco Translate实现字段的实际翻译。

ACF提供a neat way to export my already existing ACF-created field groups, which provides me with the PHP code to create the fields "on my own"。我将ACF代码放在我的特定于站点的插件中的新函数中,并将其挂钩到<%= f.fields_for :rolable do |rf| %>操作。我做的几乎与this question中描述的相同,但没有任何反应:当我在ACF界面中删除自定义字段组之后,在&#34;新帖子中没有出现自定义字段&#34;屏幕。

基本上,我有一个问题,根据答案,会产生后续问题:

  • 我应该如何实现双语/多语言自定义字段标签?
    • 如果否:您还将如何实施双语自定义字段标签/名称?
    • 如果是:我是否将该功能挂钩到错误的操作?

PS:我不确定这是属于这里还是WP StackExchange,因为它的一部分是编码相关的,也是与翻译逻辑相关的部分。请告诉我是否应该将其转移到另一个平台。

1 个答案:

答案 0 :(得分:0)

好的,

在此期间,我能够自己解决大部分问题:

  • 我没有勾选到正确的行动。事实证明,acf/init仅适用于ACFv5(专业版),而免费版仍然使用版本4.x.我迷上了init - etvoilà:有我的田野小组。
  • 使用__()函数声明自定义字段的标签,Loco Translate让我自己很容易翻译字符串。

结论

显然,我的假设是正确的 - 这是如何创建国际化的自定义字段标签:)尽管如此,我无法有效地翻译我正在使用的复选框字段的选项,虽然Loco识别出字符串并且我提供了翻译。

然而....

解决方案远非完美:

  • 我现在使用两个插件在网站上尽可能多地进行翻译。
  • 在我的网站特定插件中通过PHP代码创建ACF字段组“我自己”,我需要从管理界面中删除它们。这意味着,对于任何标准用户来说,将来很难改变它们的任何内容(这当然也可能是一个特征:)。)