首页 > 解决方案 > 每封电子邮件中的 WooCommerce WPGens 推荐

问题描述

我使用由 WPGens 开发的 WooCommerce 推荐插件(我已经提交了一张票,但我不是高级会员,所以我没有太多希望

function gens_raf_customer_email( $order, $sent_to_admin, $plain_text ) {
    $user_id = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->customer_user : $order->get_customer_id();
    if( ! empty( $user_id ) && ( get_user_meta($user_id, "gens_referral_id", true) ) != '' ){
        $code = get_user_meta($user_id, "gens_referral_id", true);
    } else {
        $code = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->billing_email : $order->get_billing_email();
    }

    if( $plain_text ){
        _e('Your referral code is: ','gens-raf') . $code;
    } else {
        echo '<p style="text-align:center;margin-top:10px;">Your referral code is: ' .get_home_url() .'?raf='. $code . '</p>';
    }  
}
add_action('woocommerce_email_customer_details', 'gens_raf_customer_email', 30, 3 );

但这会将信息添加到 WooCommerce 邮件的底部,有没有办法在订单详细信息上方显示相同的信息?在营销方面,这将是客户首先看到的。

标签: phphtmlwordpresswoocommerceemail-notifications

解决方案


是的,woocommerce_email_before_order_table您可以使用 WC 过滤器挂钩。这将在订单表上方显示信息。代码将进入您的活动主题 functions.php 文件。

function gens_raf_customer_email( $order, $sent_to_admin, $plain_text, $email ) {
    $user_id = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->customer_user : $order->get_customer_id();
    if( ! empty( $user_id ) && ( get_user_meta($user_id, "gens_referral_id", true) ) != '' ){
        $code = get_user_meta($user_id, "gens_referral_id", true);
    } else {
        $code = ( version_compare( WC_VERSION, '2.7', '<' ) ) ? $order->billing_email : $order->get_billing_email();
    }

    if( $plain_text ){
        _e('Your referral code is: ','gens-raf') . $code;
    } else {
        echo '<p style="text-align:center;margin-top:10px;">Your referral code is: ' .get_home_url() .'?raf='. $code . '</p>';
    }  
} 
add_action('woocommerce_email_before_order_table', 'gens_raf_customer_email', 30, 4 );

推荐阅读