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

WordPress实现站内触发WhatsApp消息按钮(避免跳转)

WordPress 实现隐藏链接的WhatsApp聊天按钮

问题分析

你当前用表单提交+wp_redirect的方式会触发页面刷新跳转,体验不好,而且表单的target="_blank"根本不起作用。核心需求是把WhatsApp链接存在functions.php里不暴露在HTML源码中,同时点击按钮直接打开WhatsApp聊天窗口。

解决方案一:PHP函数输出链接(适合模板中使用)

1. 修改functions.php

添加一个返回WhatsApp链接的函数,把手机号存在这里:

// 获取WhatsApp聊天链接
function get_whatsapp_chat_link() {
    // 替换成你的手机号,记得加国际区号(比如+8613xxxxxxxxx)
    $phone_number = '+8613800138000';
    // 对手机号编码,避免特殊字符问题
    return 'https://api.whatsapp.com/send?phone=' . urlencode($phone_number);
}

2. 修改前端模板(index.php)

删掉原来的表单代码,用a标签或者按钮直接调用函数输出链接:

方式A:用a标签(推荐,符合HTML语义)
<a href="<?php echo esc_url(get_whatsapp_chat_link()); ?>" target="_blank" class="whatsapp" alt="点击通过WhatsApp联系我们">
    <i class="fa-brands fa-whatsapp"></i>
    <span>WhatsApp 联系我们</span>
</a>
方式B:用button标签(如果你一定要按钮样式)
<button type="button" onclick="window.open('<?php echo esc_url(get_whatsapp_chat_link()); ?>', '_blank')" class="whatsapp" alt="点击通过WhatsApp联系我们">
    <i class="fa-brands fa-whatsapp"></i>
    <span>WhatsApp 联系我们</span>
</button>

解决方案二:短代码(适合在文章/页面中灵活调用)

如果需要在后台编辑文章、页面时插入按钮,用短代码更方便:

1. 修改functions.php

注册一个短代码函数:

// 注册WhatsApp按钮短代码
function whatsapp_chat_button_shortcode($atts) {
    // 替换成你的手机号
    $phone_number = '+8613800138000';
    $link = 'https://api.whatsapp.com/send?phone=' . urlencode($phone_number);
    
    // 支持自定义按钮文本,默认是"WhatsApp 联系我们"
    $atts = shortcode_atts(
        array(
            'text' => 'WhatsApp 联系我们',
        ),
        $atts,
        'whatsapp_button'
    );
    
    ob_start();
    ?>
    <a href="<?php echo esc_url($link); ?>" target="_blank" class="whatsapp" alt="点击通过WhatsApp联系我们">
        <i class="fa-brands fa-whatsapp"></i>
        <span><?php echo esc_html($atts['text']); ?></span>
    </a>
    <?php
    return ob_get_clean();
}
add_shortcode('whatsapp_button', 'whatsapp_chat_button_shortcode');

2. 在文章/页面中使用

直接插入短代码即可,还能自定义按钮文本:

[whatsapp_button text="点击和我们聊天"]

关键注意事项

  • 手机号必须带国际区号(比如中国是+86),不能有空格、括号等符号
  • 用esc_url()和esc_html()是为了符合WordPress安全规范,防止XSS攻击
  • 这种方式不会暴露链接在原始HTML源码中(渲染后会显示,但比直接写死在HTML里更隐蔽,减少垃圾信息爬虫抓取的概率)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:32:45