בעת שליחת דיוור ללקוחות שרכשו מחנות האונליין שלנו שמבוססת ווקמרס נרצה להוסיף את האופציה לקבלת אישור מהלקוח על מנת לשלוח לו את הדיוור אודות מבצעים.
כמו בתמונה הבאה:
על מנת ליצור את הפונקציה הזאת אנחנו נצטרך להטמיע קוד בתבנית של אתר.
כדי להימנע מבעיות עתידיות אנו נתקין תוסף סניפט שמאפשר להטמיע קודים בקלות בתבנית ולא ישירות בתוכה על מנת לשלוט בזה.
לתוסף קוראים Code Snippets להורדת התוסף הקליקו כאן
אחרי שתתקינו ותפעילו יהיה לכם אופציה להוסיף קוד חדש.
הקוד הבא יכיל את האופציה שהזכרנו וגם ישלח לכם מנהלי אתר עם מייל הרכישה את האישור במידה והלקוח סימן את התיבה יופיע YES במידה ולא לא יופיע כלום
(אני לא עורך דין אז לגבי חוקיות העניין עדיף לבדוק)
להלן הקוד:
/**
* Add Custom Checkbox Field to WooCommerce Checkout Page
* author John Cook
*
* https://wcsuccessacademy.com/?p=736
*/
add_action( 'woocommerce_review_order_before_submit', 'wcsuccess_add_custom_checkout_field' );
function wcsuccess_add_custom_checkout_field( $checkout ) {
woocommerce_form_field( 'is_gift', array( // CSS ID
'type' => 'checkbox',
'class' => array('form-row mycheckbox'), // CSS Class
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => false, // Mandatory or Optional
'label' => 'אני מאשר/ת קבלת הטבות ומבצעים מהאתר', // Label and Link
));
}
/**
* Save Custom Checkbox Field to WooCommerce Order
* By John Cook
*
* https://wcsuccessacademy.com/?p=736
*/
add_action( 'woocommerce_checkout_update_order_meta', 'wcsuccess_save_new_checkout_field' );
function wcsuccess_save_new_checkout_field( $order_id ) {
// only process if the checkbox is not empty
if ( ! empty( $_POST['is_gift'] ) ) {
$value = isset($_POST['is_gift']) ? 'yes' : 'no';
update_post_meta( $order_id, '_is_gift', sanitize_text_field( $value ) );
}
}
/**
* Display Custom Checkbox Field on WooCommerce Order thank you page, order edit screen and order email
* By John Cook
*
* https://wcsuccessacademy.com/?p=736
*/
// Add field to the thank you page
add_action( 'woocommerce_thankyou', 'wcsuccess_show_new_checkout_field_thankyou' );
function wcsuccess_show_new_checkout_field_thankyou( $order_id ) {
if ( get_post_meta( $order_id, '_is_gift', true ) ) echo 'אישור קבלת דיוור: ' . get_post_meta( $order_id, '_is_gift', true ) . '
';
}
// Add the field to the order edit screen
add_action( 'woocommerce_admin_order_data_after_billing_address', 'wcsuccess_show_new_checkout_field_order' );
function wcsuccess_show_new_checkout_field_order( $order ) {
$order_id = $order->get_id();
if ( get_post_meta( $order_id, '_is_gift', true ) ) echo 'Order contains gifts: ' . get_post_meta( $order_id, '_is_gift', true ) . '
';
}// Add to the order email
add_action( 'woocommerce_email_after_order_table', 'wcsuccess_show_new_checkout_field_emails', 20, 4 );
function wcsuccess_show_new_checkout_field_emails( $order, $sent_to_admin, $plain_text, $email ) {
if ( get_post_meta( $order->get_id(), '_is_gift', true ) ) echo 'אישור קבלת דיוור: ' . get_post_meta( $order->get_id(), '_is_gift', true ) . '
';
}