我已在wordpress中的自定义主题上创建了一些自定义帖子,其中polylang plugin已激活。
翻译效果很好,但问题是我需要在翻译的帖子之间保持相同的指定内容。使用普通帖子,您可以停用媒体类型的翻译,但这不适用于自定义内容类型。
例如,如果我有两种语言,如英语和西班牙语,我会创建一个新的自定义英语帖子:
$(function() {
// Initialize form validation on the registration form.
// It has the name attribute "registration"
$("#ba-form-contact form").validate({
// Specify validation rules
rules: {
// The key name on the left side is the name attribute
// of an input field. Validation rules are defined
// on the right side
First_Name: "required",
Surname: "required",
email: {
required: true,
// Specify that email should be validated
// by the built-in "email" rule
email: true
}
},
submitHandler: function() {
jQuery.ajax({
type: 'POST',
url: '<?=$_SERVER['REQUEST_URI']?>',
data: jQuery("#ba-form-contact form").serialize(),
dataType: 'html'
});
return false;
}
});
});
</script>
我希望在西班牙语帖子上的一些内容已经填充了我已经写过的一些内容或上传到英文帖子中的内容(带有&#34; *&#34;),如:
[ENG POST]
TITLE
content1 *
content2
media1 *
media2
对于我使用CMB2 plugin的自定义帖子。
有优雅的方法吗?
答案 0 :(得分:0)
据我所知 WPML 非常适合多语言网站,如果您愿意,可以尝试一下...... WordPress一直存在插件问题....
答案 1 :(得分:0)
从来没有做过这样的事情,但据我所知,polylang创建了另一篇文章,并且在加载新语言表单时,完全重新加载CMB2字段,触发所有相关事件。
获取正确的事件并找到原始的帖子ID应该允许您将之前的值设置为相应字段的默认值,但它只是理论,因为我从未真正尝试过。如果有效,请告诉我。
答案 2 :(得分:0)
如果您使用CMB2的自定义字段来创建自定义帖子类型内容的这些部分,则可以使用或多或少的优雅,直接的方式来实现目标。
创建wpml-config.xml
文件(它非常明确)
<wpml-config>
<custom-fields>
<custom-field action="copy">cf_content_to_populate</custom-field>
<custom-field action="copy">cf_media_to_populate</custom-field>
<custom-field action="translate">cf_content_to_translate</custom-field>
<custom-field action="translate">cf_media_to_translate</custom-field>
</custom-fields>
</wpml-config>
并将其保存到您使用的主题的根目录中。
cf_content_to_populate
和cf_media_to_populate
将在没有翻译的情况下提供给所有语言,但cf_content_to_translate
和cf_media_to_translate
将需要翻译。
使用wpml-config.xml
,您可以管理
但是你不能在每个帖子的基础上做到这一点。
关于The wpml-config.xml file的官方Polylang文档。