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

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

在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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。