You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:15:05