删除某些 WooCommerce 电子邮件通知中的产品购买备注
Remove product purchase notes in certain WooCommerce email notifications
我尝试从订单完成邮件中删除购买备注。目前购买备注在订单确认邮件和订单完成邮件中。但我们不希望订单完成邮件中包含该信息。
为此,我在这里找到了这个输入:https://wordpress.stackexchange.com/questions/340045/how-do-i-hide-the-purchase-note-in-the-woocommerce-order-completed-email
我还发现在下面被剪掉了。但是有了它,它就可以在所有地方删除它,而不仅仅是在完整邮件的订单中。有什么建议吗?
add_filter('woocommerce_email_order_items_args','remove_order_note',12);
function remove_order_note($args){
$args['show_purchase_note']= false;
return $args;
}
您可以使用电子邮件 ID 来定位 WooCommerce 中的特定电子邮件通知。
然而,因为这在您使用的挂钩中是未知的,我们将通过另一个挂钩使电子邮件 ID 全局可用
所以你得到:
// Setting the email_is as a global variable
function action_woocommerce_email_before_order_table( $order, $sent_to_admin, $plain_text, $email ) {
$GLOBALS['email_id_str'] = $email->id;
}
add_action( 'woocommerce_email_before_order_table', 'action_woocommerce_email_before_order_table', 10, 4 );
function filter_woocommerce_email_order_items_args( $args ) {
// Getting the email ID global variable
$refNameGlobalsVar = $GLOBALS;
$email_id = isset( $refNameGlobalsVar['email_id_str'] ) ? $refNameGlobalsVar['email_id_str'] : '';
// Targeting specific email. Multiple statuses can be added, separated by a comma
if ( in_array( $email_id, array( 'customer_completed_order', 'customer_invoice' ) ) ) {
// False
$args['show_purchase_note'] = false;
}
return $args;
}
add_filter( 'woocommerce_email_order_items_args', 'filter_woocommerce_email_order_items_args', 10, 1 );
注:
在这个答案中使用:
我尝试从订单完成邮件中删除购买备注。目前购买备注在订单确认邮件和订单完成邮件中。但我们不希望订单完成邮件中包含该信息。
为此,我在这里找到了这个输入:https://wordpress.stackexchange.com/questions/340045/how-do-i-hide-the-purchase-note-in-the-woocommerce-order-completed-email
我还发现在下面被剪掉了。但是有了它,它就可以在所有地方删除它,而不仅仅是在完整邮件的订单中。有什么建议吗?
add_filter('woocommerce_email_order_items_args','remove_order_note',12);
function remove_order_note($args){
$args['show_purchase_note']= false;
return $args;
}
您可以使用电子邮件 ID 来定位 WooCommerce 中的特定电子邮件通知。 然而,因为这在您使用的挂钩中是未知的,我们将通过另一个挂钩使电子邮件 ID 全局可用
所以你得到:
// Setting the email_is as a global variable
function action_woocommerce_email_before_order_table( $order, $sent_to_admin, $plain_text, $email ) {
$GLOBALS['email_id_str'] = $email->id;
}
add_action( 'woocommerce_email_before_order_table', 'action_woocommerce_email_before_order_table', 10, 4 );
function filter_woocommerce_email_order_items_args( $args ) {
// Getting the email ID global variable
$refNameGlobalsVar = $GLOBALS;
$email_id = isset( $refNameGlobalsVar['email_id_str'] ) ? $refNameGlobalsVar['email_id_str'] : '';
// Targeting specific email. Multiple statuses can be added, separated by a comma
if ( in_array( $email_id, array( 'customer_completed_order', 'customer_invoice' ) ) ) {
// False
$args['show_purchase_note'] = false;
}
return $args;
}
add_filter( 'woocommerce_email_order_items_args', 'filter_woocommerce_email_order_items_args', 10, 1 );
注:
在这个答案中使用: