WooCommerce:退款电子邮件发送给管理员

问题描述 投票:0回答:1

我想在向客户退款时触发向网站管理员发送电子邮件。目前只有客户收到电子邮件。

关于如何实现这个有什么想法吗?

php wordpress woocommerce
1个回答
0
投票

要在 WooCommerce 中处理退款时向管理员发送自定义电子邮件通知,您可以使用 woocommerce_order_refunded 操作挂钩。当订单退款时,此挂钩会触发,您可以附加一个自定义函数,向管理员发送电子邮件。

这是您需要添加到functions.php或自定义插件中的代码:

function send_refund_email_to_admin($order_id) {
    // Get the order object
    $order = wc_get_order($order_id);

    // Check if the order exists and has been refunded
    if ($order) {
        // Get the admin email address
        $admin_email = get_option('admin_email');

        // Prepare the email subject and content
        $subject = 'Refund Processed for Order #' . $order->get_order_number();
        $message = 'A refund has been processed for Order #' . $order->get_order_number() . ".\n\n";
        $message .= 'Refund Details: ' . "\n";
        $message .= 'Refunded Amount: ' . $order->get_total_refunded() . "\n";
        $message .= 'Refund Reason: ' . $order->get_meta('_refund_reason') . "\n\n";
        $message .= 'You can view the refund details in the WooCommerce Orders section.';

        // Send the email to the admin
        wp_mail($admin_email, $subject, $message);
    }
}
add_action('woocommerce_order_refunded', 'send_refund_email_to_admin');

如何运作:

woocommerce_order_refunded
:每当处理退款时都会触发此 WooCommerce 挂钩。

wc_get_order($order_id)
:根据订单ID检索订单详情。

wp_mail()
:使用 wp_mail() 函数将退款详细信息发送到管理员的电子邮件。

补充说明:

退款原因存储为订单元数据,可以通过

$order->get_meta('_refund_reason')

通过此设置,每次在 WooCommerce 中处理退款时,管理员都会收到一封电子邮件。

© www.soinside.com 2019 - 2024. All rights reserved.