【问题标题】:How to add product SKUs to WooCommerce new order email subject如何将产品 SKU 添加到 WooCommerce 新订单电子邮件主题
【发布时间】:2020-12-15 01:19:09
【问题描述】:

基于Woocommerce - Add username to new order email subject line。我正在尝试更改 WooCommerce 电子邮件主题行。 Т当我订购时,我作为站点管理员在我的邮件中收到的电子邮件。

我正在尝试创建以下结构

[在线商店]Order(#....)Name,Second name, Total-...,SKU1, SKU2, SKU3...

我使用此代码,但我不知道如何获取订单中每个产品的 SKU?

add_filter('woocommerce_email_subject_new_order', 'change_admin_email_subject', 1, 2);
function change_admin_email_subject( $subject, $order ) {
global $woocommerce;
$blogname = wp_specialchars_decode(get_option('blogname'), ENT_QUOTES);

$subject = sprintf( '[%s] Order (# %s) от %s %s Total-%u EU. %s ', $blogname, $order->id, 
$order->billing_first_name, $order->billing_last_name, $order->order_total, $order->...);

return $subject;
}

【问题讨论】:

    标签: php wordpress woocommerce email-notifications sku


    【解决方案1】:

    您可以为此使用以下内容,产品 SKU 是通过 foreach 循环从订单对象中获取的。

    添加注释并解释代码

    function filter_woocommerce_email_subject_new_order( $subject, $order ) {   
        // Blogname
        $blogname = wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES );
        
        // Get order ID
        $order_id = $order->get_id();
        
        // Get billing first name
        $first_name = $order->get_billing_first_name();
        
        // Get billing last name
        $last_name = $order->get_billing_last_name();
        
        // Get order total
        $order_total = $order->get_total();
        
        // Empty array
        $product_skus = array();
    
        // Loop through order items
        foreach( $order->get_items() as $item ) {
            // Get an instance of corresponding the WC_Product object
            $product = $item->get_product();
            
            // Push to array
            $product_skus[] = $product->get_sku();
        }
        
        // Array to string
        $product_skus_str = implode( ", ", $product_skus );
        
        // Subject
        $subject = sprintf( '[%s] Order (# %s) From %s %s Total %s SKU %s', $blogname, $order_id, $first_name, $last_name, $order_total, $product_skus_str );
    
        return $subject;
    }
    add_filter( 'woocommerce_email_subject_new_order', 'filter_woocommerce_email_subject_new_order', 1, 2 );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-24
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      • 2019-01-27
      • 1970-01-01
      • 1970-01-01
      • 2020-10-23
      相关资源
      最近更新 更多