如何将产品 SKU 添加到 WooCommerce 新订单电子邮件主题
How to add product SKUs to WooCommerce new order email subject
基于Woocommerce - Add username to new order email subject line。我正在尝试更改 WooCommerce 电子邮件主题行。我作为网站管理员在订购时在邮件中收到的电子邮件。
我正在尝试创建以下结构
[在线商店]订单(#....)姓名、第二个姓名、总计-...、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;
}
您可以使用以下方法,产品 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 );
基于Woocommerce - Add username to new order email subject line。我正在尝试更改 WooCommerce 电子邮件主题行。我作为网站管理员在订购时在邮件中收到的电子邮件。
我正在尝试创建以下结构
[在线商店]订单(#....)姓名、第二个姓名、总计-...、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;
}
您可以使用以下方法,产品 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 );