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

如何在WordPress中为多子域名编写类似is_page的if-else判断条件

WordPress子域名判断实现多语言变量赋值方案

第一步:封装自定义判断函数

先封装和is_page逻辑一致的is_subdomain判断函数,将以下代码添加到你当前使用的WordPress主题的functions.php文件,或者自定义功能插件的代码中:

function is_subdomain( $target_domain = '' ) {
    // 统一转为小写避免大小写匹配误差
    $current_domain = strtolower( trim( $_SERVER['HTTP_HOST'] ) );
    $target_domain = strtolower( trim( $target_domain ) );
    return $current_domain === $target_domain;
}

第二步:套用原有逻辑实现需求

函数添加完成后,就可以直接用和is_page完全一致的写法完成子域名判断、赋值语言变量:

<?php 
if ( is_subdomain('example.domain.com') ) {
  $language = 'pt';
} elseif( is_subdomain('example1.domain.com') ) {
  $language = 'es';
} elseif( is_subdomain('example2.domain.com') ) {
  $language = 'ar';
} else {
  $language = 'en';
}

echo $language;
?>

注意事项

  • 如果你站点使用了CDN、反向代理服务,需要先确认$_SERVER['HTTP_HOST']可以获取到用户真实访问的域名,部分代理场景下需要替换为$_SERVER['HTTP_X_FORWARDED_HOST'],根据你的服务器实际配置调整即可。
  • 函数中已做了小写转换和空白字符过滤,避免输入、访问时的格式问题导致匹配失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 18:24:04