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

WordPress中如何在header.php内正确调用.html静态页面?

问题原因

原有代码失效的核心原因:the_permalink()是WordPress专为系统内已发布内容(文章、页面、自定义文章类型)设计的固定链接输出函数,仅支持传入WordPress内容ID或内容对象作为参数,无法识别传入的静态HTML文件路径,无法生成正确的跳转地址,最终导致点击无响应。

正确实现方案

你可以根据自己存放静态HTML文件的位置,选择对应方案:

方案1:静态HTML存放在主题目录

如果aboutus.html放在当前启用主题的根目录下,使用WordPress自带的主题路径获取函数拼接文件地址即可,替换原有代码为:

<li class="menu-item">
  <a href="<?php echo get_template_directory_uri(); ?>/aboutus.html">AboutUs</a>
</li>

如果你使用的是子主题,请将代码中的get_template_directory_uri()替换为get_stylesheet_directory_uri(),否则路径会指向父主题目录,导致找不到文件。

方案2:静态HTML存放在站点根目录

如果aboutus.html放在WordPress安装根目录(和wp-config.php文件同级),直接写站点根相对路径即可:

<li class="menu-item">
  <a href="/aboutus.html">AboutUs</a>
</li>

方案3:WordPress原生实现(推荐,无需保留独立HTML文件)

如果不需要保留独立静态HTML文件,更适配WordPress逻辑的实现方式如下:

  • 登录WordPress后台,在「页面」菜单下新建标题为AboutUs的页面并发布,记录页面列表中该页面对应的ID
  • 将原有HTML文件中的内容迁移到该页面,或为该页面创建专属自定义页面模板
  • 传入页面ID调用固定链接函数,示例代码(假设AboutUs页面ID为12):
<li class="menu-item">
  <a href="<?php echo get_permalink(12); ?>">AboutUs</a>
</li>

注意:

  1. 放置静态HTML文件时请确认文件权限为可读状态,否则访问时会抛出403权限错误
  2. the_permalink()会直接输出链接,get_permalink()会返回链接字符串,传入ID参数时推荐使用get_permalink()搭配echo做输出,避免出现解析错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 20:36:26