WordPress开发:home_url与site_url函数用法详解

林见深
林见深
发布时间:2026-10-13 | 3人浏览过
原创

在WordPress主题或插件开发中,动态生成正确的URL至关重要。本文详细解析了两个最常用的函数:home_url()用于获取站点首页地址,site_url()用于获取WordPress程序的安装路径地址。文章提供了具体的参数说明、协议支持类型及代码实战示例,帮助开发者避免硬编码链接,确保跨环境和HTTPS访问的准确性。

一、获取首页链接:home_url()

第1步:理解 home_url() 的功能与入口

home_url() 是 WordPress 中用于获取“站点URL”(即用户访问网站时看到的首页地址)的核心函数。无论 WordPress 安装在根目录还是子目录,该函数始终指向配置中的站点地址(Site Address (URL)),通常也就是前端展示的域名。
此函数定义位于 wp-includes/link-template.php 文件中。

第2步:掌握 home_url() 的参数设置

函数调用格式为:home_url( $path, $scheme ),主要包含两个可选参数:

  • $path(字符串,可选):需要附加在首页URL后的相对路径。如果不传参,则返回裸域名或带斜杠的首页地址。
  • $scheme(字符串,可选):指定链接使用的协议。仅支持三种值:
    • http:强制使用 HTTP 协议。
    • https:强制使用 HTTPS 协议。
    • relative:生成相对于当前域名的路径(不含域名)。适用于同一域名下的内部资源引用。

第3步:查看 home_url() 的返回结果

函数最终返回一个字符串,内容为首页基础URL拼接上$path后的完整链接。

第4步:运行 home_url() 的代码示例

假设你的站点设置为 http://www.example.com,以下示例演示了不同参数的输出效果:

// 默认输出(通常为 http 或 https,取决于站点设置)
echo home_url(); 
// 输出示例: http://www.example.com

// 追加相对路径 '/'
echo home_url( '/' );
// 输出示例: http://www.example.com/

// 强制使用 https 协议并追加路径
echo home_url( '/', 'https' );
// 输出示例: https://www.example.com/

// 使用 relative 方案(常用于加载同域下的JS/CSS)
echo home_url( 'example', 'relative' );
// 输出示例: /example

二、获取站点安装路径:site_url()

第5步:理解 site_url() 的功能与入口

site_url() 用于获取 WordPress 系统的实际安装位置URL(WordPress Address (URL))。

注意:如果你的 WordPress 直接安装在数据库配置的根目录中,home_url() 和 site_url() 的输出可能看起来一样;但如果 WordPress 安装在子目录(如 /wordpress/),两者的区别将非常明显:前者指向根域名,后者指向子目录。
此函数同样位于 wp-includes/link-template.php。

第6步:掌握 site_url() 的参数设置

函数调用格式为:site_url( $path, $scheme ),参数含义与 home_url() 类似,但 $scheme 的选项更为丰富:

  • $path(字符串,可选):附加在安装路径后的内容。
  • $scheme(字符串,可选):除了 http、https 和 relative 外,还支持以下特殊语义:
    • login:生成的链接会自动添加 /wp-login.php 后缀。
    • admin:生成的链接会自动添加 /wp-admin/ 后缀。

第7步:查看 site_url() 的返回结果

返回值为:WordPress安装基础URL + $path 参数形成的完整字符串。

第8步:运行 site_url() 的代码示例

假设你的 WordPress 安装在 http://www.example.com/wordpress 子目录下:

// 获取完整的安装路径
echo site_url(); 
// 输出示例: http://www.example.com/wordpress

// 强制使用 https 并追加自定义路径
echo site_url( '/secrets/', 'https' );
// 输出示例: https://www.example.com/wordpress/secrets/

三、关键差异总结

  1. 用途不同:使用 home_url() 引用对外展示的内容(如 logo、首页链接);使用 site_url() 引用系统内部文件(如 wp-content/plugins, wp-login.php)。
  2. 子目录环境:当 WP 安装在非根目录时,两者路径前缀不一致,切勿混用以免 404 错误。
  3. 安全性:推荐在引入后台管理页面或登录接口时,显式指定 https scheme 以确保安全连接。

以上就是WordPress中home_url和site_url函数的详细内容,更多关于WordPress开发的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表