哪个对WordPress的表现更好?

时间:2011-04-15 作者:Vitor Argos

我正在使用WPML插件开发一个网站。我想知道哪一种是更好的选择,甚至是在不同语言之间更改类或ID的正确方法。

Sample code:

<ul id="<?php _e(\'menu-topo\'); ?>">

<ul id="<?php if ($lang = \'en\') { echo "menu-topo-en"; } else { echo "menu-topo"; } ?>
我不确定_e 函数应该以这种方式使用,所以如果有人能为我澄清这一点,这将对我帮助很大,谢谢。

1 个回复
最合适的回答,由SO网友:onetrickpony 整理而成

_e() 将作为参数传递的文本翻译为您的站点当前设置使用的语言(如果存在翻译)。

无论如何,不要那样做。将其用于网站上可见的文本,而不是ID/类等。要创建基于上下文的css规则,只需将WPML语言ID添加为主体类:

add_filter(\'body_class\', \'wpml_body_class\');
function wpml_body_class($classes){
  return array_push($classes, ICL_LANGUAGE_CODE);
}
然后使用以下方式设置所需元素的样式:

.en .menu-top{
 ...
}
它速度更快,而且您的代码易于维护。

结束

相关推荐