WPML Translated Term

时间:2012-02-17 作者:Ionut Staicu

因为我在他们的论坛上发了帖子,但没有得到任何答案,所以我又在这里问同样的问题。因此:

我制作了一个脚本,添加了添加图像和更改自定义分类(称为行程)术语顺序的可能性。

因此,我使用这种方式逐一获取每个术语(最多只有10个术语,因此我认为不会有任何性能惩罚):

$term = get_term_by(\'id\', $itinerary_id, \'itinerary\' );
然后获取图像、描述、url等。

然而,我的问题是,我必须以一种保持自定义顺序和自定义图像的方式拥有多语言内容,这样网站管理员就不必为每种语言添加图像(10个术语*6种语言*每周其他图像听起来并不有趣!)

我试图深入研究WPML sql表,但没有找到与这两种语言相关的任何东西(我现在只使用两种语言,英语和意大利语)

所以我想知道get_translated_term()?

谢谢

3 个回复
最合适的回答,由SO网友:Ionut Staicu 整理而成

实际上,在他们的API中已经有了这样的东西:

icl_object_id(ID, custom_taxonomy_name, return_original_if_missing,language_code)
很有魅力。

更多信息请阅读:Language Dependent IDs

SO网友:Alain O

我知道这是一篇老帖子,因此我的答案主要是针对谷歌(googlers)的(我是如何来到这里的)。

我喜欢这样的想法,即可以使用上面提出的get\\u translated\\u term()这样的函数。所以我写了它(放入functions.php):

function get_translated_term($term_id, $taxonomy, $language) {

    $translated_term_id = icl_object_id($term_id, $taxonomy, true, $language);

    $translated_term_object = get_term_by(\'id\', $translated_term_id, $taxonomy);

    return $translated_term_object->name;
}
然后,在主题中的任何给定位置,可以按如下方式调用函数:

echo get_translated_term($term_id, \'taxonomy name\', ICL_LANGUAGE_CODE);

SO网友:Vuk Vukovic

WPML API已更新,您应该使用this filter 相反你会避免function_exists()

结束

相关推荐

Custom metabox translation

我已经创建了一个自定义的帖子类型,并添加了一些自定义的元数据库,现在我想知道我在我的网站上使用了什么样的翻译插件?我对它们都没有经验,所以我不知道谁会支持我的自定义元数据库,谁不会。