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

如何在WordPress页面内容的href属性中添加自动适配域名的PHP代码

解决WordPress页面动态路径(域名+页面名)的问题

嘿,作为PHP新手遇到这种迁移后路径失效的问题太正常啦!我来帮你用WordPress原生的方法搞定,不用自己写复杂的PHP,还能保证迁移后自动适配新域名~

首先要明确:WordPress的页面/文章内容里默认是不直接执行PHP代码的,所以我们得用WordPress提供的「短代码(Shortcode)」或者模板标签来实现动态路径,同时避免硬编码localhost这种固定域名。

一、先解决你的图片路径问题

你现在的图片src是硬编码的http://localhost/doctors/wp-content/uploads/2018/04/dn...,迁移后肯定失效。推荐用WordPress的附件函数来动态生成图片URL:

方法:用短代码输出动态图片

  1. 打开你当前主题的functions.php文件(建议用子主题,避免主题更新丢失代码),添加以下代码:
// 注册动态图片短代码
function dynamic_doctor_image() {
    // 替换成你图片的附件ID(就是wp-image-165里的165)
    $image_data = wp_get_attachment_image_src(165, 'full');
    if ($image_data) {
        // 输出带动态路径的img标签
        return '<img class="size-full img-responsive img-circle wp-image-165 aligncenter" src="' . esc_url($image_data[0]) . '" alt="医生头像">';
    }
    return '';
}
add_shortcode('dynamic_doctor_img', 'dynamic_doctor_image');
  1. 回到WordPress页面编辑器,把原来的img代码删掉,直接插入短代码:[dynamic_doctor_img]

这样不管你迁移到哪个域名,图片都会自动使用当前站点的域名生成正确路径~

二、解决href的动态页面链接问题

要让链接自动获取域名+页面名,核心是用WordPress的get_permalink()函数,它能根据页面ID自动生成完整的永久链接。同样用短代码来实现:

方法:用短代码输出动态页面链接

  1. 还是在functions.php里添加以下代码:
// 注册动态页面链接短代码
function dynamic_page_link($atts) {
    // 设置短代码的默认参数
    $params = shortcode_atts(array(
        'page_id' => '', // 必填:要链接的页面ID
        'link_text' => '点击访问' // 可选:链接显示的文本
    ), $atts);

    // 如果没传页面ID,返回空
    if (empty($params['page_id'])) {
        return '';
    }

    // 获取页面的永久链接
    $page_url = get_permalink($params['page_id']);
    if ($page_url) {
        return '<a href="' . esc_url($page_url) . '">' . esc_html($params['link_text']) . '</a>';
    }
    return '';
}
add_shortcode('dynamic_link', 'dynamic_page_link');
  1. 在页面内容里这样调用:[dynamic_link page_id="123" link_text="查看医生详情"]
    • 把123替换成你要链接的页面ID
    • link_text可以改成你想要的链接文字

这样迁移后,链接会自动变成新域名下的对应页面地址,完全不用手动修改!

三、额外小提示

  • 怎么找页面/图片的ID?
    • 页面ID:编辑页面时,地址栏里的post=xxx里的xxx就是页面ID
    • 图片ID:在媒体库编辑图片时,地址栏里的attachment_id=xxx就是图片ID
  • 尽量不要用第三方插件来插入PHP代码,原生短代码更安全且稳定
  • 修改functions.php前最好备份一下,避免出错导致站点崩溃

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:41:35