按帖子翻译内容,而不是实例

时间:2016-05-21 作者:Malcolm Isaacson

TL;DR: 我正在寻找一种方法,仅用另一种语言翻译特定帖子的内容,而不是上述帖子的所有内容(如“meta”和“search”字段this solution seems to do).

Longer version: 我目前正在为一家小公司管理一个静态HTML网站,每隔几周就会更新一次新帖子。有些帖子是用法语(默认语言)和英语写的,有些帖子也是用德语,甚至西班牙语写的。目前,每个帖子的每个版本都首先加载,而所有非法语版本都隐藏在display:none. 每个帖子的右侧都有许多标志,这些标志对应于可用的翻译。用户单击其中一个标志,使用jquery的一点魔力display 属性会相应地进行切换,用本地化的内容替换帖子的内容。容易的

我现在正试图将所有这些都移植到wordpress,比如将网站的管理权交给其他人,而其他人可能完全不懂计算机。我正在拼命地寻找一个优雅的解决方案,它既能让代码变得简单,又能让一些编辑器很容易理解。如果有人有我可以深入研究的想法,我将不胜感激。

P、 美国:重要的是要注意,我们不关心SEO,因为我们业务的特殊性质并不需要它。

1 个回复
最合适的回答,由SO网友:cjbj 整理而成

最简单的方法是在编辑页面上有自定义字段:每个要使用的语言都有一个文本字段(可能还有不同的标题字段?)为此,您可以使用plugin like ACF. 这将为非技术编辑提供一个简单的界面。

假设您正在构建自己的主题,您可以将自定义字段集成到模板中。始终显示法语文本,测试其他语言的字段是否为空,如果不包括,也测试。然后像往常一样使用jQuery切换。

如果您使用的是第三方主题,则必须在functions.php 将自定义字段添加到the_content (和the_title) 并包括用于切换显示的css和jQuery。像这样:

$spanish_content = \'<div class="spanish">\' . get_field(\'spanish_content\') . \'</div>\';
apply_filters(\'the_content\',$spanish_content);
(注:get_field 调用特定于ACF插件)

相关推荐

How do I add languages?

这似乎是一个基本的问题,但我已经使用Drupal将近3年了,两周前我转到了WordPress。我在用Buddypress。我只想添加一种语言工具,与官方WordPress网站的插件翻译和整个网站的所有内容同步(或更新),让用户在语言之间进行选择(比如某种语言切换器下拉列表)我尝试使用polylang,但它似乎使用了自己的翻译。有什么建议吗?