שדה בחירת תאריך ושעה בצ'קאאוט

הוספת שדה תאריך ושעה למשלוח בעמוד הצ'קאאוט

PHP
// Load the flatpickr library and styling
function load_flatpickr() {
    wp_enqueue_style( 'flatpickr', 'https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css' );
    wp_enqueue_script( 'flatpickr', 'https://cdn.jsdelivr.net/npm/flatpickr', array( 'jquery' ), '', true );
}
add_action( 'wp_enqueue_scripts', 'load_flatpickr' );

// Display the datetime field on the checkout page
add_action( 'woocommerce_after_checkout_billing_form', 'display_extra_fields_after_billing_address' , 10, 1 );
function display_extra_fields_after_billing_address () {
    echo '<div class="form-row"><label for="add_delivery_date_time" class="">' . __("תאריך ושעה למשלוח") . ':</label>';
    echo '<input type="text" class="add_delivery_date_time" name="add_delivery_date_time" placeholder="' . __("בחירת זמן למשלוח") . '" autocomplete="off" required /></div>';

    // Initialize the datetimepicker
    ?>
    <script>
        jQuery(document).ready(function( $ ) {
            $(".add_delivery_date_time").flatpickr({
                enableTime: true,
                dateFormat: "d/m/Y H:i",
                minDate: "today"
            });
        });
    </script>
    <?php
}

// Save the datetimepicker value to the order
add_action( 'woocommerce_checkout_create_order', 'add_order_delivery_date_time_to_order' , 10, 1);
function add_order_delivery_date_time_to_order ( $order ) {
    if ( isset( $_POST ['add_delivery_date_time'] ) &&  '' != $_POST ['add_delivery_date_time'] ) {
        $order->update_meta_data( '_delivery_date_time',  sanitize_text_field( $_POST ['add_delivery_date_time'] ) );
    }
}

// Display the datetimepicker value on the order received page and in emails
add_filter( 'woocommerce_order_item_name', 'add_delivery_date_time_to_emails_and_thankyou', 10, 2 );
function add_delivery_date_time_to_emails_and_thankyou( $item_name, $order ) {
    $delivery_date_time = $order->get_meta( '_delivery_date_time' );
    if ( $delivery_date_time ) {
        $item_name .= '<br><small>' . __("תאריך ושעה למשלוח") . ': ' . $delivery_date_time . '</small>';
    }
    return $item_name;
}

// Display the datetimepicker value on the order edit page in the admin
add_action( 'woocommerce_admin_order_data_after_billing_address', 'my_custom_checkout_field_display_admin_order_meta', 10, 1 );
function my_custom_checkout_field_display_admin_order_meta($order){
    $delivery_date_time = $order->get_meta( '_delivery_date_time' );
    if ( $delivery_date_time ) {
        echo '<p><strong>'.__("תאריך ושעה למשלוח").':</strong> ' . $delivery_date_time . '</p>';
    }
}

// Display the datetimepicker value on custom email notification
add_filter( 'woocommerce_email_order_meta_fields', 'add_delivery_date_time_to_emails' , 10, 3 );
function add_delivery_date_time_to_emails ( $fields, $sent_to_admin, $order ) {
    if( version_compare( get_option( 'woocommerce_version' ), '3.0', ">=" ) ) {
        $delivery_date_time = $order->get_meta( '_delivery_date_time' );
        if ( $delivery_date_time ) {
            $fields['delivery_date_time'] = array(
                'label' => __("תאריך ושעה למשלוח"),
                'value' => $delivery_date_time,
            );
        }
    }
    return $fields;
}

את קוד ה -Php ניתן להטמיע בקובץ ה – function בתבנית הבת או לחלופין להשתמש בתוסף snippet.

הסתבכתם עם הקוד? צריכים התאמה אישית?
תוכלו להיעזר בנותני השירות המומלצים שיעזרו לכם בעבודה

wpcoder - מתכנת
אתרים
wpcoder – מתכנת
המתכנת הכי טוב

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *

ווקומרס
Php
קרדיט: ישראל פאר
העדכונים שלא תרצו לפספס
הירשמו ותהיו הראשונים לקבל את המדריכים הכי חמים למייל.
אלמנטור
Js
סגירת פופאפ בלחיצה על כפתור
וורדפרס
Css
עיצוב תוסף הנגישות של enable
ווקומרס
Php
הצגת מוצרים במלאי תחילה בארכיון מוצרים
אלמנטור
Css
הפיכת ווידג'ט תיבת אייקון או תיבת תמונה ללחיצים
אלמנטור
Css
תמונת רקע בתוך טקסט באלמנטור
חיפוש חופשי
העדכונים שלא תרצו לפספס
הירשמו ותהיו הראשונים לקבל את המדריכים הכי חמים למייל.
הרשימה מתעדכנת כל הזמן - מומלץ לשמור את הדף במועדפים!
כדי לשמור את האתר לחצו על Ctrl+D במקלדת (במק D+⌘).