问题描述
我迫切需要帮助。我似乎在网上找不到任何相关信息,您的意见将不胜感激。
我需要从Woocommerce下订单后发送给客户的客户处理订单电子邮件中删除以下内容:
- 付款类型
- 购买物品的价格
- 所购买物品下方表格中的所有物品,即总计和注释。
我已附上一张图片,以直观地查看需要从电子邮件中删除的内容: items to be removed
可以在以下位置找到文件:yourtheme / woocommerce / emails / customer-processing-order.PHP,其中包含以下代码,但是您可以看到,删除或注释掉部分并不是简单的情况。 :
<?PHP
/**
* Customer processing order email
*
* This template can be overridden by copying it to yourtheme/woocommerce/emails/customer-processing-order.PHP.
*
* HOWEVER,on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible,but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @package WooCommerce/Templates/Emails
* @version 3.7.0
*/
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/*
* @hooked WC_Emails::email_header() Output the email header
*/
do_action( 'woocommerce_email_header',$email_heading,$email ); ?>
<?PHP /* translators: %s: Customer first name */ ?>
<p><?PHP printf( esc_html__( 'Hi %s,','woocommerce' ),esc_html( $order->get_billing_first_name() ) ); ?></p>
<?PHP /* translators: %s: Order number */ ?>
<p><?PHP printf( esc_html__( 'Just to let you kNow — we\'ve received your order #%s,and it is Now being processed:',esc_html( $order->get_order_number() ) ); ?></p>
<?PHP
/*
* @hooked WC_Emails::order_details() Shows the order details table.
* @hooked WC_Structured_Data::generate_order_data() Generates structured data.
* @hooked WC_Structured_Data::output_structured_data() Outputs structured data.
* @since 2.5.0
*/
do_action( 'woocommerce_email_order_details',$order,$sent_to_admin,$plain_text,$email );
/*
* @hooked WC_Emails::order_Meta() Shows order Meta data.
*/
do_action( 'woocommerce_email_order_Meta',$email );
/*
* @hooked WC_Emails::customer_details() Shows customer details
* @hooked WC_Emails::email_address() Shows email address
*/
do_action( 'woocommerce_email_customer_details',$email );
/**
* Show user-defined additional content - this is set in each email's settings.
*/
if ( $additional_content ) {
echo wp_kses_post( wpautop( wptexturize( $additional_content ) ) );
}
/*
* @hooked WC_Emails::email_footer() Output the email footer
*/
do_action( 'woocommerce_email_footer',$email );
我还在我的functions.PHP文件中使用了以下代码来删除小计,并在其下方删除付款方式。但是我仍然需要删除其他项目的帮助。
add_filter( 'woocommerce_get_order_item_totals','adjust_woocommerce_get_order_item_totals' );
function adjust_woocommerce_get_order_item_totals( $totals ) {
unset($totals['cart_subtotal'] );
unset( $totals['payment_method'] );
return $totals;
}
任何帮助将不胜感激。
谢谢。
解决方法
您可以使用woocommerce_email_before_order_table挂钩自定义内容
add_action( 'woocommerce_email_before_order_table','custom_process_table',10,4 );
function custom_process_table( $order,$sent_to_admin,$plain_text,$email ) {
// Your Custom Table goes here
}
您还可以覆盖电子邮件模板。 https://github.com/woocommerce/woocommerce/blob/master/templates/emails/email-order-details.php