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
相关产品推荐
相关产品推荐

