用于在Woocommerce电子邮件中显示购买记录的功能

时间:2018-09-03 17:21:20

标签: woocommerce

我正在尝试在Woocommerce生成的customer_processing_order电子邮件中的产品下方显示购买说明。

我已经在我的functions.php文件中添加了以下内容:

function sww_add_images_woocommerce_emails( $output, $order ) {

// set a flag so we don't recursively call this filter
static $run = 0;

// if we've already run this filter, bail out
if ( $run ) {
    return $output;
}

$args = array(
    'show_purchase_note'    => true,
);

// increment our flag so we don't run again
$run++;

// if first run, give WooComm our updated table
return $order->email_order_items_table( $args );
}
add_filter( 'woocommerce_email_order_items_table', 'sww_add_images_woocommerce_emails', 10, 2 );

这可行,但是它在电子邮件中显示一条错误消息,说明以下内容:

  

“注意:自版本以来,不推荐使用WC_Order :: email_order_items_table    3.0!
请改用wc_get_email_order_items。在/nas/content/staging/ishgamultisite/wp-includes/functions.php中在线   3853“

如果我将woocommerce_email_order_items_table更改为wc_get_email_order_items,则此功能无效。

我希望有人能告诉我我不确定该如何修改代码?

2 个答案:

答案 0 :(得分:0)

替换return $order->email_order_items_table( $args );

return wc_get_email_order_items( $order, $args );

答案 1 :(得分:0)

有点晚了,但是如果有人仍然需要出示购买记录,那么有一个更简单的钩子:

/**
 * PURCHASE NOTE
 * Edits the email order items args to show purchase notes
 */
function ag_add_wc_order_email_purchase_notes( $args ) {

    $args['show_purchase_note'] = true;

    return $args;

}
add_filter( 'woocommerce_email_order_items_args', 'ag_add_wc_order_email_purchase_notes', 10, 1 );

过滤器woocommerce_email_order_items_args包含要在订单电子邮件中显示的内容的参数。

$array — Optional. (callback) => array( 'order' => $order, 'items' => $order->get_items(), 'show_download_links' => $order->is_download_permitted() && ! $args['sent_to_admin'], 'show_sku' => $args['show_sku'], 'show_purchase_note' => $order->is_paid() && ! $args['sent_to_admin'], 'show_image' => $args['show_image'], 'image_size' => $args['image_size'], 'plain_text' => $args['plain_text'], 'sent_to_admin' => $args['sent_to_admin'], )

来源:http://hookr.io/filters/woocommerce_email_order_items_args/

已通过WooCommerce 3.6.2测试并正常工作。