Php 在管理员新订单电子邮件模板中添加应用的优惠券代码-WooCommerce

Php 在管理员新订单电子邮件模板中添加应用的优惠券代码-WooCommerce,php,wordpress,woocommerce,coupon,email-notifications,Php,Wordpress,Woocommerce,Coupon,Email Notifications,让我澄清我的问题: 我已经下载并激活了用于电子商务功能的WooCommerce插件 我想使用我的自定义插件在管理员新订单电子邮件模板中添加“应用优惠券代码” 现在: 你能告诉我,确切的钩子或函数,实际上是设置新的订单电子邮件模板,以便我将覆盖它 您能告诉我如何调用应用优惠券代码,以便我在电子邮件模板中显示此代码吗 如果您能帮我的话,那就太好了。这可以使用woocommerce\u email\u order\u details操作挂钩(例如)中的自定义功能来完成,该功能将在管理员电子邮件通知

让我澄清我的问题:

  • 我已经下载并激活了用于电子商务功能的WooCommerce插件
  • 我想使用我的自定义插件在管理员新订单电子邮件模板中添加“应用优惠券代码”
现在:

  • 你能告诉我,确切的钩子或函数,实际上是设置新的订单电子邮件模板,以便我将覆盖它
  • 您能告诉我如何调用应用优惠券代码,以便我在电子邮件模板中显示此代码吗

  • 如果您能帮我的话,那就太好了。

    这可以使用woocommerce\u email\u order\u details操作挂钩(例如)中的自定义功能来完成,该功能将在管理员电子邮件通知中显示订单中使用的优惠券:

    // The email function hooked that display the text
    add_action( 'woocommerce_email_order_details', 'display_applied_coupons', 10, 4 );
    function display_applied_coupons( $order, $sent_to_admin, $plain_text, $email ) {
    
        // Only for admins and when there at least 1 coupon in the order
        if ( ! $sent_to_admin && count($order->get_items('coupon') ) == 0 ) return;
    
        foreach( $order->get_items('coupon') as $coupon ){
            $coupon_codes[] = $coupon->get_code();
        }
        // For one coupon
        if( count($coupon_codes) == 1 ){
            $coupon_code = reset($coupon_codes);
            echo '<p>'.__( 'Coupon Used: ').$coupon_code.'<p>';
        } 
        // For multiple coupons
        else {
            $coupon_codes = implode( ', ', $coupon_codes);
            echo '<p>'.__( 'Coupons Used: ').$coupon_codes.'<p>';
        }
    }
    
    //连接的显示文本的电子邮件函数
    添加操作('woocommerce\u email\u order\u details'、'display\u applicated\u coups',10,4);
    功能显示应用的优惠券($order,$sent,$admin,$plain,$email){
    //仅适用于管理员,且订单中至少有一张优惠券
    如果(!$sent_to_admin&&count($order->get_items('优惠券'))==0)返回;
    foreach($order->get_items('优惠券')作为$优惠券){
    $优惠券\代码[]=$优惠券->获取\代码();
    }
    //一张优惠券
    if(计数($优惠券代码)==1){
    $优惠券代码=重置($优惠券代码);
    回显“”。(使用的优惠券:)。$优惠券代码。“”;
    } 
    //多张优惠券
    否则{
    $优惠券代码=内爆(“,”,$优惠券代码);
    回显“”。(使用的优惠券:)。$优惠券代码。“”;
    }
    }
    
    代码位于活动子主题(或主题)的function.php文件或任何插件文件中


    测试并运行…

    这是因为
    $touch\u code
    不是数组()用
    $touch\u code=array()定义它