自定义消息取决于用户购买的所有金额的总和
Custom message depending on the sum of all the amount purchased by an user
在我努力改进 的过程中,我想让它根据用户在此之前进行的所有购买的总和来运作。也就是说,如果整个数量小于 <100€ 发送一种电子邮件,如果它在 100€-200€ 之间另一种,如果大于则 >200€ 另一种不同。
这是代码:
add_action( 'woocommerce_email_before_order_table', 'completed_order_mail_message', 20 );
function completed_order_mail_message( $order ) {
// Getting order user data to get the user roles
$user_data = get_userdata($order->customer_user);
if ( $order->post_status == 'wc-completed' && in_array('customer', $user_data->roles) )
echo '<h2 id="h2thanks">Get 20% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More</strong>" to receive a 20% discount on your next purchase! Click here to continue shopping.</p>';
}
我怎样才能实现它?
提前致谢。
您可以尝试这样的操作:
add_action( 'woocommerce_email_before_order_table', 'completed_order_mail_message', 20 );
function completed_order_mail_message( $order ) {
// Getting order user data to get the user roles
$user_data = get_userdata($order->customer_user);
$user_total_calculated = 0;
// Get all current customer orders
$customer_orders = wc_get_orders( $args = array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $order->customer_user,
'post_status' => 'wc_completed'
) );
// Iterating and summing all paid current customer orders
foreach ( $customer_orders as $customer_order )
$user_total_calculated += get_post_meta($customer_order->ID, '_order_total', true);
// After this you can now set your 3 conditions displaying 3 different notices or custom message
if ( $order->post_status == 'wc-completed' && in_array('customer', $user_data->roles) ){
if (100 >= $user_total_calculated)
echo '<h2 id="h2thanks">Get 5% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More5</strong>" to receive a 5% discount on your next purchase! Click here to continue shopping.</p>';
elseif ( 100 < $user_total_calculated && 200 >= $user_total_calculated )
echo '<h2 id="h2thanks">Get 10% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More10</strong>" to receive a 10% discount on your next purchase! Click here to continue shopping.</p>';
elseif ( 200 < $user_total_calculated )
echo '<h2 id="h2thanks">Get 20% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More20</strong>" to receive a 20% discount on your next purchase! Click here to continue shopping.</p>';
}
}
此代码应该有效
代码进入活动子主题的 function.php 文件(活动主题或任何插件文件)。
在我努力改进
这是代码:
add_action( 'woocommerce_email_before_order_table', 'completed_order_mail_message', 20 );
function completed_order_mail_message( $order ) {
// Getting order user data to get the user roles
$user_data = get_userdata($order->customer_user);
if ( $order->post_status == 'wc-completed' && in_array('customer', $user_data->roles) )
echo '<h2 id="h2thanks">Get 20% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More</strong>" to receive a 20% discount on your next purchase! Click here to continue shopping.</p>';
}
我怎样才能实现它?
提前致谢。
您可以尝试这样的操作:
add_action( 'woocommerce_email_before_order_table', 'completed_order_mail_message', 20 );
function completed_order_mail_message( $order ) {
// Getting order user data to get the user roles
$user_data = get_userdata($order->customer_user);
$user_total_calculated = 0;
// Get all current customer orders
$customer_orders = wc_get_orders( $args = array(
'numberposts' => -1,
'meta_key' => '_customer_user',
'meta_value' => $order->customer_user,
'post_status' => 'wc_completed'
) );
// Iterating and summing all paid current customer orders
foreach ( $customer_orders as $customer_order )
$user_total_calculated += get_post_meta($customer_order->ID, '_order_total', true);
// After this you can now set your 3 conditions displaying 3 different notices or custom message
if ( $order->post_status == 'wc-completed' && in_array('customer', $user_data->roles) ){
if (100 >= $user_total_calculated)
echo '<h2 id="h2thanks">Get 5% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More5</strong>" to receive a 5% discount on your next purchase! Click here to continue shopping.</p>';
elseif ( 100 < $user_total_calculated && 200 >= $user_total_calculated )
echo '<h2 id="h2thanks">Get 10% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More10</strong>" to receive a 10% discount on your next purchase! Click here to continue shopping.</p>';
elseif ( 200 < $user_total_calculated )
echo '<h2 id="h2thanks">Get 20% off</h2><p id="pthanks">Thank you for making this purchase! Come back and use the code "<strong>Back4More20</strong>" to receive a 20% discount on your next purchase! Click here to continue shopping.</p>';
}
}
此代码应该有效
代码进入活动子主题的 function.php 文件(活动主题或任何插件文件)。