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

如何在WooCommerce邮件中自动插入动态ID的Woo QR短代码?

如何在WooCommerce自动邮件中自动插入Woo QR商品二维码

完全可以实现自动填充商品ID并插入Woo QR短代码,以下是两种实用方案:

方案1:直接修改管理员新订单邮件模板

你已经有了admin-new-order.php模板文件,在合适位置插入代码即可,推荐放在订单详情展示之后:

找到模板中的这一行:

do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );

在它后面添加以下代码:

<!-- 商品二维码区域 -->
<h3><?php esc_html_e('商品二维码', 'woocommerce'); ?></h3>
<?php
foreach( $order->get_items() as $item ) {
    $product = $item->get_product();
    if( $product ) {
        $product_id = $product->get_id();
        $product_title = $product->get_name();
        $product_price = $product->get_price();
        // 生成并执行Woo QR短代码
        $qr_shortcode = '[wooqr id="' . esc_attr($product_id) . '" title="' . esc_attr($product_title) . '" price="' . esc_attr($product_price) . '"]';
        echo do_shortcode( $qr_shortcode );
        echo '<br><br>';
    }
}
?>

这段代码会自动遍历订单内的所有商品,为每个商品生成专属二维码并插入邮件。

方案2:使用WooCommerce钩子(推荐)

这种方法无需修改模板文件,避免WooCommerce版本更新后丢失修改,只需在主题的functions.php文件中添加以下代码:

add_action( 'woocommerce_email_after_order_details', 'add_wooqr_to_admin_order_email', 10, 4 );
function add_wooqr_to_admin_order_email( $order, $sent_to_admin, $plain_text, $email ) {
    // 仅针对管理员新订单邮件生效
    if( $email->id !== 'admin_new_order' ) return;
    
    echo '<h3>' . esc_html__('商品二维码', 'woocommerce') . '</h3>';
    foreach( $order->get_items() as $item ) {
        $product = $item->get_product();
        if( $product ) {
            $product_id = $product->get_id();
            $product_title = $product->get_name();
            $product_price = $product->get_price();
            $qr_shortcode = '[wooqr id="' . esc_attr($product_id) . '" title="' . esc_attr($product_title) . '" price="' . esc_attr($product_price) . '"]';
            echo do_shortcode( $qr_shortcode );
            echo '<br><br>';
        }
    }
}

注意事项

  • 确认Woo QR插件的短代码id参数对应商品ID(你的示例中id="2100"即为商品ID,此逻辑成立)
  • 如果短代码的title和price参数可省略,可简化为[wooqr id="' . esc_attr($product_id) . '"],具体以插件支持为准
  • 代码中用esc_attr()对参数转义,避免安全风险

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 12:45:38