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

PHP文本格式化(二):WooCommerce邮件自定义格式与订单号插入问题

解决方案

1. 修复斜体不生效问题

你之前的wp_kses过滤规则仅允许<a>标签,<i>标签被安全过滤规则拦截了,只需要在允许的HTML标签数组中新增<i>标签的放行规则即可。

2. 新增带自动订单号的银行转账段落

WooCommerce的订单对象可以直接调用get_order_number()方法获取当前订单号,直接在原有代码后追加对应段落即可。

修改后的完整代码如下:

<?php if ( $order->needs_payment() ) { ?>
    <p>
    <?php
    printf(
        wp_kses(
            /* translators: %1$s Site title, %2$s Order pay link */
            __( '我们很高兴地通知您,<i>The Versatile Home</i>的首版印刷现已完成,我们可以为您处理预订单。您的发票如下,付款链接:%2$s', 'woocommerce' ),
            array(
                'a' => array(
                    'href' => array(),
                ),
                'i' => array(), // 新增i标签放行规则,支持斜体渲染
            )
        ),
        esc_html( get_bloginfo( 'name', 'display' ) ),
        '<a href="' . esc_url( $order->get_checkout_payment_url() ) . '">' . esc_html__( '点击此处使用借记卡/信用卡或PayPal支付', 'woocommerce' ) . '</a>'
    );
    ?>
    </p>
    <!-- 新增银行转账段落 -->
    <p>
    <?php
    printf(
        __( '您也可以选择银行转账付款,分拣代码:00-00-00,账号:00000000,账户名:xxxxx,备注请填写订单号 %s。我们收到付款后会立即为您发货。', 'woocommerce' ),
        esc_html( $order->get_order_number() ) // 自动插入当前订单号
    );
    ?>
    </p>
<?php } ?>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:15:04