用 Woocommerce 电子邮件通知中的 SKU 替换产品名称
Replace the product name by the SKU in Woocommerce emails notifications
当收到确认电子邮件 and/or 发票电子邮件时,我希望客户在订单详细信息中看到 SKU 而不是产品名称。
我尝试了下面的代码,但它在产品名称下方的括号中显示了 SKU。
function sww_add_sku_woocommerce_emails( $output, $order ) {
static $run = 0;
if ( $run ) {
return $output;
}
$args = array(
'show_sku' => true,
);
$run++;
return $order->email_order_items_table( $args );
}
add_filter( 'woocommerce_email_order_items_table', 'sww_add_sku_woocommerce_emails', 10, 2 );
但是我希望 SKU 完全替换产品名称并且不要出现在括号之间,并且如果可能的话通过产品 SKU [SKU 代码] 更改文本。
在电子邮件通知中用 SKU 替换产品名称的正确代码是什么?
注意:过滤器挂钩woocommerce_order_item_name
也用于emails/email-order-items.php
模板文件(电子邮件通知也是如此).
好像到处都想用SKU替换商品名,所以只需要用,再加一点。
因此您的代码将类似于 (对于订单 和 电子邮件通知):
add_filter( 'woocommerce_order_item_name', 'display_sku_in_order_item', 20, 3 );
function display_sku_in_order_item( $item_name, $item, $is_visible ) {
$product = $item->get_product();
if( $sku = $product->get_sku() ) {
// On front end orders
if( is_wc_endpoint_url() ) {
$item_name = '<a href="'. $product->get_permalink() .'" class="product-sku">'. __( "Product ", "woocommerce") . $sku .'</a>';
}
// On email notifications
else {
$item_name = $sku;
}
}
return $item_name;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作。
当收到确认电子邮件 and/or 发票电子邮件时,我希望客户在订单详细信息中看到 SKU 而不是产品名称。
我尝试了下面的代码,但它在产品名称下方的括号中显示了 SKU。
function sww_add_sku_woocommerce_emails( $output, $order ) {
static $run = 0;
if ( $run ) {
return $output;
}
$args = array(
'show_sku' => true,
);
$run++;
return $order->email_order_items_table( $args );
}
add_filter( 'woocommerce_email_order_items_table', 'sww_add_sku_woocommerce_emails', 10, 2 );
但是我希望 SKU 完全替换产品名称并且不要出现在括号之间,并且如果可能的话通过产品 SKU [SKU 代码] 更改文本。
在电子邮件通知中用 SKU 替换产品名称的正确代码是什么?
注意:过滤器挂钩woocommerce_order_item_name
也用于emails/email-order-items.php
模板文件(电子邮件通知也是如此).
好像到处都想用SKU替换商品名,所以只需要用
因此您的代码将类似于 (对于订单 和 电子邮件通知):
add_filter( 'woocommerce_order_item_name', 'display_sku_in_order_item', 20, 3 );
function display_sku_in_order_item( $item_name, $item, $is_visible ) {
$product = $item->get_product();
if( $sku = $product->get_sku() ) {
// On front end orders
if( is_wc_endpoint_url() ) {
$item_name = '<a href="'. $product->get_permalink() .'" class="product-sku">'. __( "Product ", "woocommerce") . $sku .'</a>';
}
// On email notifications
else {
$item_name = $sku;
}
}
return $item_name;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。测试和工作。