Quantcast
Channel: WordPress.org Forums » [WooCommerce] Support
Viewing all articles
Browse latest Browse all 104029

Email is Not Working for 2 Products

$
0
0

Replies: 1

Hi,

I’ve created custom checkout fields. I want to send the customer custom information after completing an order successfully. The script I’ve created works fine with Product-1, but it does not work with Product-2 and Product-3. This seems weird, as I only have three products.

Here is the code:

add_action('woocommerce_thankyou', 'send_custom_billing_email');

function send_custom_billing_email($order_id) {

if (!$order_id) return;

$order = wc_get_order($order_id);

$admin_email = get_option('admin_email'); // Get site admin email

$order_id = $order->get_id();

$product_ids = [455, 456, 457]; // List of relevant product IDs

$products_in_order = [];

// Collect products in order

foreach ($order->get_items() as $item) {

$product_id = $item->get_product_id();

if (in_array($product_id, $product_ids)) {

$products_in_order[] = $product_id;

}

}

if (in_array(457, $products_in_order)) {


// Get custom field data Product Id : 457

$name_on_diploma = get_post_meta($order_id, '_name_on_diploma', true);

$university_name = get_post_meta($order_id, '_university_name', true);

$university_address = get_post_meta($order_id, '_university_address', true);

$graduation_date = get_post_meta($order_id, '_graduation_date', true);

$degree_awarded = get_post_meta($order_id, '_degree_awarded', true);

$major = get_post_meta($order_id, '_major', true);

$extra_copies = get_post_meta($order_id, '_extra_copies', true);

$sample_proof = get_post_meta($order_id, '_sample_proof', true);

$other_information = get_post_meta($order_id, '_other_information', true);

$deliver_address = get_post_meta($order_id, '_deliver_address', true);

$order_priority = get_post_meta($order_id, '_order_priority', true);

$shipping_method_dp = get_post_meta($order_id, '_shipping_method_dp', true);

$email = get_post_meta($order_id, '_email', true);

// Email Subject

$subject = "New Order Received - Order #$order_id";

// Email Content

$message = "A new order has been placed. Below are the details:\n\n";

$message .= "Name on Diploma: $name_on_diploma\n";

$message .= "University Name: $university_name\n";

$message .= "University Address: $university_address\n";

$message .= "Graduation Date: $graduation_date\n";

$message .= "Degree Awarded: $degree_awarded\n";

$message .= "Major: $major\n";

$message .= "Extra Copies: $extra_copies\n";

$message .= "Sample Proof: $sample_proof\n";

$message .= "Other Information: $other_information\n";

$message .= "Shipping Address: $deliver_address\n";

$message .= "Order Priority: $order_priority\n";

$message .= "Shipping Method: $shipping_method_dp\n";

$message .= "Customer Email: $email\n";

$message .= "\nView Order: " . admin_url("post.php?post=$order_id&action=edit");


} if (in_array(456, $products_in_order)) {

// Get custom field data Product Id : 456

$name_on_transcript = get_post_meta($order_id, '_name_on_transcript', true);

$university_name_transcript = get_post_meta($order_id, '_university_name_transcript', true);

$university_address_transcript = get_post_meta($order_id, '_university_address_transcript', true);

$student_id_number_transcript = get_post_meta($order_id, '_student_id_number_transcript', true);

$graduation_date_transcript = get_post_meta($order_id, '_graduation_date_transcript', true);

$degree_awarded_transcript = get_post_meta($order_id, '_degree_awarded_transcript', true);

$dob_transcript = get_post_meta($order_id, '_dob_transcript', true);

$high_school_details_transcript = get_post_meta($order_id, '_high_school_details_transcript', true);

$gpa_transcript = get_post_meta($order_id, '_gpa_transcript', true);

$course_list_transcript = get_post_meta($order_id, '_course_list_transcript', true);

$extra_copies_transcript = get_post_meta($order_id, '_extra_copies_transcript', true);

$sample_proof_transcript = get_post_meta($order_id, '_sample_proof_transcript', true);

$other_information_transcript = get_post_meta($order_id, '_other_information_transcript', true);

$deliver_address_transcript = get_post_meta($order_id, '_deliver_address_transcript', true);

$order_priority_transcript = get_post_meta($order_id, '_order_priority_transcript', true);

$shipping_method_trascript = get_post_meta($order_id, '_shipping_method_trascript', true);

$email_transcript = get_post_meta($order_id, '_email_transcript', true);

// Email Subject

$subject = "New Order Received - Order #$order_id";

// Email Content

$message = "A new order has been placed. Below are the details:\n\n";

$message .= "Name on Transcript: $name_on_transcript\n";

$message .= "University Name: $university_name_transcript\n";

$message .= "University Address: $university_address_transcript\n";

$message .= "Student ID Number: $student_id_number_transcript\n";

$message .= "graduation Date Transcript: $graduation_date_transcript\n";

$message .= "Type of Degree Awarded: $degree_awarded_transcript\n";

$message .= "Date of Birth: $dob_transcript\n";

$message .= "High School Details: $high_school_details_transcript\n";

$message .= "GPA: $gpa_transcript\n";

$message .= "Course List: $course_list_transcript\n";

$message .= "Extra Copies: $extra_copies_transcript\n";

$message .= "Sample Proof: $sample_proof_transcript\n";

$message .= "Other Information: $other_information_transcript\n";

$message .= "Shipping Address: $deliver_address_transcript\n";

$message .= "Order Priority: $order_priority_transcript\n";

$message .= "Shipping Method: $shipping_method_trascript\n";

$message .= "Email: $email_transcript\n";

$message .= "\nView Order: " . admin_url("post.php?post=$order_id&action=edit");

} if (in_array(455, $products_in_order)) {

$name_on_dtp = get_post_meta($order_id, '_name_on_dtp', true);

$name_on_transcript_dtp = get_post_meta($order_id, '_name_on_transcript_dtp', true);

$university_college_dtp = get_post_meta($order_id, '_university_college_dtp', true);

$univer_collge_address_dtp = get_post_meta($order_id, '_univer_collge_address_dtp', true);

$student_number_id = get_post_meta($order_id, '_student_number_id', true);

$graduation_date_dtp = get_post_meta($order_id, '_graduation_date_dtp', true);

$type_degre_dtp = get_post_meta($order_id, '_type_degre_dtp', true);

$major_dtp = get_post_meta($order_id, '_major_dtp', true);

$dob_dtp = get_post_meta($order_id, '_dob_dtp', true);

$high_school_dtp = get_post_meta($order_id, '_high_school_dtp', true);

$dpa_dtp = get_post_meta($order_id, '_dpa_dtp', true);

$course_list_dtp = get_post_meta($order_id, '_course_list_dtp', true);

$extra_copies_dtp = get_post_meta($order_id, '_extra_copies_dtp', true);

$sample_proof_dtp = get_post_meta($order_id, '_sample_proof_dtp', true);

$other_information_dtp = get_post_meta($order_id, '_other_information_dtp', true);

$deliver_address_dtp = get_post_meta($order_id, '_deliver_address_dtp', true);

$order_priority_dtp = get_post_meta($order_id, '_order_priority_dtp', true);

$shipping_method_dtp = get_post_meta($order_id, '_shipping_method_dtp', true);

$email_dtp = get_post_meta($order_id, '_email_dtp', true);

// Email Subject

$subject = "New Order Received - Order #$order_id";

// Email Content

$message = "A new order has been placed. Below are the details:\n\n";

$message .= "Name on Diploma: $name_on_dtp\n";

$message .= "Name on Transcript: $name_on_transcript_dtp\n";

$message .= "University/College Name: $university_college_dtp\n";

$message .= "University/College Address: $univer_collge_address_dtp\n";

$message .= "Student ID Number: $student_number_id\n";

$message .= "Graduation Date: $graduation_date_dtp\n";

$message .= "Type of Degree Awarded: $type_degre_dtp\n";

$message .= "Major: $major_dtp\n";

$message .= "Date of Birth: $dob_dtp\n";

$message .= "High School Details: $high_school_dtp\n";

$message .= "GPA: $dpa_dtp\n";

$message .= "Course List: $course_list_dtp\n";

$message .= "Extra Copies: $extra_copies_dtp\n";

$message .= "Sample Proof: $sample_proof_dtp\n";

$message .= "Other Information: $other_information_dtp\n";

$message .= "Shipping Address: $deliver_address_dtp\n";

$message .= "Order Priority: $order_priority_dtp\n";

$message .= "Shipping Method: $shipping_method_dtp\n";

$message .= "Email: $email_dtp\n";

$message .= "\nView Order: " . admin_url("post.php?post=$order_id&action=edit");

}

// Send Email

wp_mail($admin_email, $subject, $message);

}

Another weird thing is that when I receive emails in my Gmail “Updates” tab, they are plain text, but in my “Primary” tab, they are HTML-formatted.

I’ve tried every possible way to make this work but I failed.

How can I figure it out?

  • This topic was modified 20 hours, 15 minutes ago by talhabu.

Viewing all articles
Browse latest Browse all 104029

Trending Articles