نمایش تاریخ تحویل سفارش در صفحه پرداخت ووکامرس

نمایش تاریخ تحویل سفارش در صفحه پرداخت ووکامرس

نمایش تاریخ تحویل سفارش در صفحه پرداخت ووکامرس

برای حرفه ای تر کار کردن ، شما میتوانید از مشتری بخواهید که چه زمانی دوست دارد کالا بدستش برسد . با این کار شما برای مشتری ارزش قائل خواهید شد.

برای نمایش تاریخ تحویل سفارش در ووکامرس کافیست کد زیر را در functions.php قرار دهید

// -------------------------------
// 1. Display Checkout Calendar if Shipping Selected
 
add_action( 'woocommerce_review_order_before_payment', 'a4fran3_echo_acf_date_picker' );
 
function a4fran3_echo_acf_date_picker( $checkout ) {
     
    echo '<div id="show-if-shipping" style="display:none"><h3>Delivery Date</h3>';
     
    woocommerce_form_field( 'delivery_date', array(
        'type'          => 'text',
        'class'         => array('form-row-wide'),
        'id'            => 'datepicker',
        'required'      => true,
        'label'         => __('Select Delivery Date'),
        'placeholder'       => __('Click to open calendar'),
        ));
     
    echo '</div>';
     
}
 
add_action( 'woocommerce_after_checkout_form', 'a4fran3_show_hide_calendar' );
  
function a4fran3_show_hide_calendar( $available_gateways ) {
     
?>
 
<script type="text/javascript">
     
    function show_calendar( val ) {
        if ( val.match("^flat_rate") || val.match("^free_shipping") ) {
            jQuery('#show-if-shipping').fadeIn();
        } else {
            jQuery('#show-if-shipping').fadeOut();
        }   
    }
     
    jQuery(document).ajaxComplete(function() {
        var val = jQuery('input[name^="shipping_method"]:checked').val();
        show_calendar( val );
    });
     
</script>
 
<?php
     
}
 
add_action( 'woocommerce_checkout_process', 'a4fran3_validate_new_checkout_fields' );
  
function a4fran3_validate_new_checkout_fields() {   
     
    if ( isset( $_POST['delivery_date'] ) && empty( $_POST['delivery_date'] ) ) wc_add_notice( __( 'Please select the Delivery Date' ), 'error' );
  
}
 
// -------------------------------
// 2. Load JQuery Datepicker
 
add_action( 'woocommerce_after_checkout_form', 'a4fran3_enable_datepicker', 10 );
  
function a4fran3_enable_datepicker() {
     
  ?>
 
    <script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
 
  <?php    
     
}
 
// -------------------------------
// 3. Load Calendar Dates
 
add_action( 'woocommerce_after_checkout_form', 'a4fran3_load_calendar_dates', 20 );
  
function a4fran3_load_calendar_dates( $available_gateways ) {
 
    ?>
 
    <script type="text/javascript">
 
        jQuery(document).ready(function($) {
                 
            $('#datepicker').click(function() {
 
                $('#datepicker').datepicker({ 
                    dateFormat: 'dd-mm-yy',
                    maxDate: "+2m",
                    minDate: 1, 
                }).datepicker( "show" );
                 
            });
 
        });
 
    </script>
 
    <?php
  
}
 
// -------------------------------
// 4. Save & show date as order meta
 
add_action( 'woocommerce_checkout_update_order_meta', 'a4fran3_save_date_weight_order' );
 
function a4fran3_save_date_weight_order( $order_id ) {
     
    global $woocommerce;
     
    if ( $_POST['delivery_date'] ) update_post_meta( $order_id, '_delivery_date', esc_attr( $_POST['delivery_date'] ) );
     
}
 
add_action( 'woocommerce_admin_order_data_after_billing_address', 'a4fran3_delivery_weight_display_admin_order_meta' );
  
function a4fran3_delivery_weight_display_admin_order_meta( $order ) {    
     
    echo '<p><strong>Delivery Date:</strong> ' . get_post_meta( $order->get_id(), '_delivery_date', true ) . '</p>';

نتیجه کد بالا :

نمایش تاریخ تحویل سفارش

لینک کوتاه:

https://a4fran3.ir/?p=17718

guest
9 نظر
جدیدترین
قدیمی ترین
Inline Feedbacks
مشاهده همه نظرات
نیما

سلام
مشکل حل شد تابع آخر } کم داشت.ولی تو صفحه chekout چیزی نشون نمیده

نیما

بله دقیقا

نیما

سلام
Parse error: syntax error, unexpected ‘}’, expecting end of file in C:\wamp64\www\wordpress\wp-content\themes\themes-woo\functions.php on line 295

نیما

سلام این کد خطای syntax داره چرا؟متوجه نشدم ایراد از چی میگیره

نیما

سلام چطوری میتونم این تقویم رو شمسی نشون بدم؟

مطالب مشابه