我使用WPML来翻译我的WordPress主题
两个类别在意大利语和英语中具有相同的名称。
因此,WPML(WordPress)在第二语言类别的名称后添加@ and the language code
。
这是因为WordPress并不希望这两个类别具有相同的名称。
示例:
类别语言1(意大利语):Bar
分类语言2(英文):Bar @en。
如何删除此@en
?
我找到了此链接http://wpml.org/forums/topic/same-name-for-categories-in-different-languages/ 但它没有给我一些帮助。
我是否要更改PHP?
你能帮帮我吗? :)谢谢你
答案 0 :(得分:0)
是的,您必须更改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);
}