使用WPML插件时,如何让多语言站点统一用分类法英文名称做CSS类名
解决WPML多语言站点分类法CSS类名统一为英文的问题
当前代码直接调用当前语言的分类名称,导致阿拉伯语版本生成阿拉伯语类名,无法匹配你写的英文类名CSS样式。可以通过WPML提供的函数获取原始语言(英文)的分类对象,从而统一输出英文类名。
修改后的代码如下:
<div class="row row-cols-1 row-cols-sm-2 row-cols-md-3 row-cols-lg-4 row-cols-xxl-5 <?php // 获取分类在英文(原始语言)下的ID $original_tax_id = apply_filters('wpml_object_id', $taxonomy->term_id, $taxonomy->taxonomy, true, 'en'); // 获取英文版本的分类对象 $original_taxonomy = get_term($original_tax_id, $taxonomy->taxonomy); // 处理类名:空格替换为下划线,转小写 echo preg_replace('/\s+/', '_', strtolower($original_taxonomy->name)); ?>" >
关键说明:
wpml_object_id是WPML内置的过滤器,作用是把当前语言的分类ID转换成指定语言(这里是英文'en')的对应ID- 如果你的站点默认语言不是英文,把代码里的
'en'改成WPML设置中对应的英文语言代码(比如有些站点用'en-US',需和后台设置一致) - 确保WPML插件已激活且正常运行,否则这个过滤器无法生效
内容的提问来源于stack exchange,提问作者Learning
相关产品推荐
相关产品推荐

