PHP中实现可点击邮箱与电话号码的代码可行性咨询
问题解决:给PHP中的邮箱和电话添加可点击功能
你的思路方向是对的,但直接写href="mail"和href="tel"是无效的,必须加上完整的协议前缀才能触发对应的系统功能。下面是修正后的完整代码:
<?php if(!empty($header_email)): ?> <li> <span><i class="fa <?php echo esc_attr($header_email_icon);?>"></i></span> <a href="mailto:<?php echo esc_url($header_email); ?>"><?php echo esc_html($header_email); ?></a> </li> <?php endif; ?> <?php if(!empty($header_phone)): ?> <li> <span><i class="fa <?php echo esc_attr($header_phone_icon);?>"></i></span> <a href="tel:<?php echo esc_url($header_phone); ?>"><?php echo esc_html($header_phone); ?></a> </li> <?php endif; ?>
关键说明:
- 邮箱链接必须用
mailto:前缀,点击后会唤起用户默认邮件客户端,自动填充收件人地址 - 电话链接必须用
tel:前缀,点击后会触发系统拨号界面(移动端体验更直接) - 用
esc_url()处理href属性里的邮箱/电话值,比esc_html()更适配URL场景,能有效避免XSS安全问题
内容的提问来源于stack exchange,提问作者code grafo
相关产品推荐
相关产品推荐

