PHP在WordPress中怎么获取站点域名_WP取域名函数用法【说明】-php教程

最可靠的是home_url()和site_url();前者返回站点首页地址用于前端链接,后者返回WordPress程序根目录地址用于后台资源;获取纯域名应使用parse_url(home_url(), PHP_URL_HOST)。

WordPress 里获取站点域名,最可靠的是 home_url() 和 site_url(),而不是直接读取 $_SERVER 或数据库选项——前者会自动处理多站点、HTTPS、子目录安装和重写规则,后者容易出错。

home_url() vs site_url():用途和区别必须分清

这两个函数都返回带协议和主机名的完整 URL,但语义和适用场景完全不同:

  • home_url() 返回「站点首页地址」,即 WordPress 设置 →「常规」→「站点地址(URL)」的值,用于前端链接(比如导航里的首页、logo 跳转)
  • site_url() 返回「WordPress 程序根目录地址」,即「WordPress 地址(URL)」设置项,用于后台脚本、插件 JS/CSS 加载、admin-ajax.php 等后端资源路径
  • 单站点下二者常相同;但在子目录安装(如 example.com/blog/)或使用 CDN/反向代理时,它们可能指向不同路径
  • 不要用 get_option('home') 或 get_option('siteurl') 替代——它们不经过 URL 过滤器,也不处理协议自动适配(比如从 HTTP 切到 HTTPS)

获取纯域名(不含协议和路径)的稳妥做法

WordPress 没有内置“只取域名”的函数,硬要剥离需手动解析。但注意:parse_url( home_url(), PHP_URL_HOST ) 是最常用且兼容性好的方式:

// ✅ 推荐:获取纯域名(如 example.com)
$domain = parse_url( home_url(), PHP_URL_HOST );

// ❌ 避免:直接读 $_SERVER['HTTP_HOST'] —— 可能被伪造、不含端口、在 CLI 下不可用
// ❌ 避免:用 get_site_url() + 正则匹配 —— 多余且易错
  • 务必传 home_url() 而非 site_url(),因为「站点地址」才代表对外可见的域名主体
  • 如果站点启用了 www 重定向(如强制跳转 www.example.com),home_url() 已反映该配置,无需额外处理
  • 多站点环境下,需配合 get_current_blog_id() 或 get_site() 判断上下文,否则默认返回主站域名

WP-CLI 或 wp-config.php 中不能用 home_url() 的情况

在 WordPress 加载完成前(如 wp-config.php)、或非请求上下文(如 WP-CLI 命令执行初期),home_url() 尚未初始化,会返回空或错误结果:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » PHP在WordPress中怎么获取站点域名_WP取域名函数用法【说明】-php教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3997897+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1391+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 3997897+
  • 本周更新: 0+
  • 最后更新: 2026-03-16