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

Avada主题下WooCommerce感谢页二维码代码在functions.php中不生效求助

WooCommerce感谢页二维码不显示的排查思路
  • 修复HTML转义问题:你的代码中使用了&lt;、&quot;这类HTML转义字符,PHP输出时会将其当作纯文本,无法解析为<img>标签。把printf里的转义字符替换成正常HTML符号,修改后的代码如下:

    add_action( 'woocommerce_thankyou', 'display_order_received_qr_code', 10, 1 );
    function display_order_received_qr_code( $order_id ) { 
        $order = wc_get_order($order_id);
        // 先判断订单是否有效,避免无效订单导致代码中断
        if ( !$order ) return;
    
        printf('<img class="qrcodecz" alt="QR platba" src="%s" />', 
            add_query_arg( array(
                'accountNumber' => '2202681982',
                'bankCode'      => '2010',
                'amount'        => $order->get_subtotal(),
                'currency'      => 'CZK',
                'vs'            => $order->get_order_number(),
                'message'       => 'svetvramu.cz',
                'size'          => 200,
            ), 'https://api.paylibo.com/paylibo/generator/czech/image' ),
        );
    }
    
  • 验证钩子是否触发:在函数开头添加测试输出,确认woocommerce_thankyou钩子是否正常执行:

    function display_order_received_qr_code( $order_id ) { 
        echo '<p>测试钩子触发</p>';
        // 原有代码...
    }
    

    如果感谢页显示"测试钩子触发",说明钩子正常,问题出在后续逻辑;如果没显示,检查主题是否重写了感谢页模板(woocommerce/checkout/thankyou.php),确保模板中调用了do_action( 'woocommerce_thankyou', $order->get_id() )。

  • 确认订单对象有效性:保留代码中的if ( !$order ) return;判断,避免直接访问感谢页URL但无有效订单ID时,代码因无效订单对象中断。

  • 测试API链接可用性:手动拼接API链接(用固定值替换订单相关变量),比如https://api.paylibo.com/paylibo/generator/czech/image?accountNumber=2202681982&bankCode=2010&amount=100&currency=CZK&vs=123&message=svetvramu.cz&size=200,在浏览器中打开确认是否能加载二维码图片,排查API是否正常响应。

  • 检查订单数据正确性:输出订单相关数据,确认get_subtotal()、get_order_number()是否返回预期值:

    echo '<p>订单金额:'.$order->get_subtotal().'</p>';
    echo '<p>订单号:'.$order->get_order_number().'</p>';
    

    如果数据为空或异常,可调整数据获取方法,比如用$order->get_total()代替get_subtotal()(若需要订单总金额而非小计)。

  • 排查样式隐藏问题:通过浏览器开发者工具检查页面元素,确认.qrcodecz类是否被CSS设置了display:none、opacity:0等隐藏属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 10:31:27