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)的主要内容,如果未能解决你的问题,请参考以下文章

PHP 在Wordpress中获取自定义字段值

从 Wordpress 中自定义帖子类型的类别中获取 ACF 文本字段值

PHP 在wordpress主题中获取自定义字段值

获取wordpress主题中的自定义字段值

如何在 Wordpress 编辑器中添加自定义字段并获取其值?

以编程方式更新转发器字段中特定组字段的值 - 高级自定义字段 (ACF) - Wordpress