不同语言的相同名称类别?WPML添加“@”



我使用WPML翻译我的WordPress主题.
两个类别在意大利语和英语中具有相同的名称。因此,WPML(WordPress)在第二语言类别的名称后添加了@ and the language code.
这是因为WordPress不希望有2个同名的类别。

例:

类别语言 1(意大利语):酒吧

类别语言2(英语):酒吧@en。

如何删除此@en

我发现这个链接 http://wpml.org/forums/topic/same-name-for-categories-in-different-languages/但它并没有给我一些帮助。

我必须更改 PHP?

你能帮我吗?:)

谢谢

是的,你必须改变你的PHP。如果您在术语名称中看到"@en"字符串,则表示WPML过滤器没有过滤您的代码,可能是因为用于获取术语的函数不在WPML的过滤函数列表中。

因此,过滤它们的最简单方法是在生成输出之前使用 str_replace()。

例如,如果您使用 wp_get_post_terms() 获取特定帖子的术语列表:

$terms = wp_get_post_terms( $post->ID, 'your_taxonomy' );
foreach ( $terms as $t ) {
  echo str_replace('@'.ICL_LANGUAGE_CODE, '', $t->name);
}

最新更新