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

WordPress如何根据站点子目录加载对应自定义CSS(Polylang场景)

Polylang多语言站点按语言加载额外CSS实现方案

你写的基础逻辑可行,但WordPress环境下不建议直接硬写link标签、写死完整URL做判断,优先用官方钩子+Polylang原生能力实现,兼容性更好,不会因为换域名、调整站点结构失效。

优先方案:用Polylang原生语言判断(推荐)

把以下代码加入当前主题的functions.php文件即可:

function custom_load_language_styles() {
    // 加载全局通用样式
    wp_enqueue_style( 'global-default-style', get_stylesheet_directory_uri() . '/yellow.css', [], '1.0.0', 'screen,projection' );

    // 检测Polylang插件存在,且当前页面语言为阿拉伯语(ar为阿拉伯语默认语言代码)
    if ( function_exists('pll_current_language') && pll_current_language() === 'ar' ) {
        wp_enqueue_style( 'arabic-special-style', get_stylesheet_directory_uri() . '/blue.css', ['global-default-style'], '1.0.0', 'screen' );
    }
}
add_action( 'wp_enqueue_scripts', 'custom_load_language_styles' );

注意:代码里的CSS路径请替换为你站点内实际的文件存放路径,示例写法对应主题根目录下的CSS文件。

备选方案:按URL子目录路径匹配(不推荐)

如果有特殊需求必须通过URL子目录判断,把上面代码里的语言判断逻辑替换成以下路径匹配逻辑即可:

$current_request_path = trim( parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ), '/' );
// 匹配路径以/ar开头的阿拉伯语页面
if ( strpos($current_request_path, 'ar') === 0 ) {
    // 此处放置阿拉伯语样式加载逻辑
}
  • 不要写死完整域名做判断,否则切换测试环境、更换站点域名时逻辑会直接失效
  • 用wp_enqueue_style加载样式是WordPress官方规范,可自动处理样式依赖顺序,避免重复加载问题
  • 如果你在Polylang后台给阿拉伯语设置了自定义语言代码,去后台语言列表找到对应代码替换判断条件里的ar即可

内容的提问来源于stack exchange,提问作者burak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:45:46