Wordpress:以正确的语言获取自定义字段值 (WPML)
Posted
技术标签:
【中文标题】Wordpress:以正确的语言获取自定义字段值 (WPML)【英文标题】:Wordpress: Fetch custom field value in the right language (WPML) 【发布时间】:2022-01-15 21:09:25 【问题描述】:我创建了一个名为“my_custom_field”的自定义字段(使用 ACF 插件)。然后我使用此代码获取该自定义字段的值效果很好:
echo $output = get_post_meta($data['post_id'], "my_custom_field", true);
我的网站有两种语言(法语和西班牙语)。我使用 WPML 进行翻译。
问题是 $output 始终显示默认语言(法语)的值,即使 $output 已加载并打印在“西班牙语”页面中。
我想我需要在代码中添加其他内容来检测语言并相应地显示 $output。
【问题讨论】:
您好,您尝试过使用ACF的get_field功能吗? 【参考方案1】:这解决了问题:
$wpml_post_id = icl_object_id($data['post_id'], 'page', false,ICL_LANGUAGE_CODE);
echo $output = get_post_meta($wpml_post_id, "my_custom_field", true);
【讨论】:
最好使用 ACFML 并使用get_field
函数。少代码少问题【参考方案2】:
要使 ACF 字段可翻译为 WPML,您需要安装 ACFML 插件,您可以从 WPML 网站上的帐户下载该插件。
使用此插件,您可以使 ACF 字段可翻译。更多你可以在官方文档中阅读:https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/
【讨论】:
以上是关于Wordpress:以正确的语言获取自定义字段值 (WPML)的主要内容,如果未能解决你的问题,请参考以下文章
从 Wordpress 中自定义帖子类型的类别中获取 ACF 文本字段值