精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網

17站長網 首頁 編程 PHP編程 查看內容

在WooCommerce結賬中添加帶有收集時間的自定義選擇字段

2023-1-19 16:57| 查看: 7028 |來源: 互聯網

我已經在我的網站上為收款時間創建了一個自定義結賬字段這是我當前的代碼:add_action('woocommerce_before_order_notes','njengah_add_selec ...

我已經在我的網站上為收款時間創建了一個自定義結賬字段

這是我當前的代碼:

add_action('woocommerce_before_order_notes', 'njengah_add_select_checkout_field');
function njengah_add_select_checkout_field( $checkout ) {
    woocommerce_form_field( 'daypart', array(
        'type'          => 'select',
        'class'         => array( 'njengah-drop' ),
        'label'         => __( 'Collection Time' ),
        'required'      => true,   
        'options'       => array(
            'blank'   => __( 'Select a collection time', 'njengah' ),
            '5:00_PM' => __( '5:00 PM', 'njengah' ),
            '5:30_PM' => __( '5:30 PM', 'njengah' ),
            '6:00_PM' => __( '6:00 PM', 'njengah' ),
            '6:30_PM' => __( '6:30 PM', 'njengah' ),
            '7:00_PM' => __( '7:00 PM', 'njengah' ),
            '7:30_PM' => __( '7:30 PM', 'njengah' ),
            '8:00_PM' => __( '8:00 PM', 'njengah' )
        )
    ), $checkout->get_value( 'daypart' ));
}

但是,這樣做的目的是在時間過去后隱藏收集時間

例如-如果下午6點隱藏:下午5:00和下午5:30

任何幫助都是最好的

使用根據指定類型檢索當前時間的推薦答案current_time()函數。

從那時起,您可以進一步定制代碼以滿足您的需求,因此您可以:

function action_woocommerce_before_order_notes( $checkout ) {
    // Open and close time
    $start_time = strtotime( '9:00 AM' );
    $stop_time = strtotime( '1:00 PM' );

    /* END SETTINGS */
    
    // Current time
    $current_time = current_time( 'timestamp' );
    
    // Initialize
    $remaining_times = array();
    $required = true;
    
    // Closed
    if( $current_time > $stop_time || $current_time <= $start_time ) {
        // Default value
        $default[''] = __( 'Closed', 'woocommerce');
        
        // False
        $required = false;
    } else {    
        // Default value
        $default[''] = __( 'Select a collection time', 'woocommerce');
        
        // Determine first value
        $first_value = strtotime( date( 'g:i A', ceil( $current_time / 1800 ) * 1800 ) );
        
        // Add a new option every 30 minutes
        while( $first_value <= $stop_time && $first_value >= $start_time ) {
            $value = date( 'g:i A', $first_value );
            $remaining_times[$value] = $value;
            
            // Add 30 minutes
            $first_value = strtotime( '+30 minutes', $first_value );
        }
    }
    
    // Options
    $options = array_merge( $default, $remaining_times );

    // Add field
    woocommerce_form_field( 'daypart', array(
        'type'          => 'select',
        'class'         => array( 'njengah-drop' ),
        'label'         => __( 'Collection Time', 'woocommerce' ),
        'required'      => $required,  
        'options'       => $options,
    ), $checkout->get_value( 'daypart' ));
}
add_action( 'woocommerce_before_order_notes', 'action_woocommerce_before_order_notes', 10, 1 );

例如

  • 當前時間=上午9:14

  • 第一個值=上午9:30

  • 上一個值=下午1:00(停止時間)

附加問題:假設開始時間為下午5:00,停止時間為晚上8:00我如何讓客戶有機會從中午12:00開始訂購,而第一個時段是下午5:00?

改用以下代碼:

function action_woocommerce_before_order_notes( $checkout ) {
    // Display time, open and close time
    $display_time = strtotime( '12:00 PM' );
    $start_time = strtotime( '5:00 PM' );
    $stop_time = strtotime( '8:00 PM' );

    // END SETTINGS
    
    // Current time
    $current_time = current_time( 'timestamp' );
    
    // Initialize
    $remaining_times = array();
    $required = true;
    
    // Closed
    if( $current_time > $stop_time || $current_time <= $display_time ) {
        // Default value
        $default[''] = __( 'Closed', 'woocommerce');
        
        // False
        $required = false;
    } else {    
        // Default value
        $default[''] = __( 'Select a collection time', 'woocommerce');
        
        // Determine first value
        $first_value = strtotime( date( 'g:i A', ceil( $current_time / 1800 ) * 1800 ) );
        
        // First value is less than start time
        if ( $first_value < $start_time ) {
            $first_value = $start_time;
        }
        
        // Add a new option every 30 minutes
        while( $first_value <= $stop_time && $first_value >= $start_time ) {
            $value = date( 'g:i A', $first_value );
            $remaining_times[$value] = $value;
            
            // Add 30 minutes
            $first_value = strtotime( '+30 minutes', $first_value );
        }
    }
    
    // Options
    $options = array_merge( $default, $remaining_times );

    // Add field
    woocommerce_form_field( 'daypart', array(
        'type'          => 'select',
        'class'         => array( 'njengah-drop' ),
        'label'         => __( 'Collection Time', 'woocommerce' ),
        'required'      => $required,  
        'options'       => $options,
    ), $checkout->get_value( 'daypart' ));
}
add_action( 'woocommerce_before_order_notes', 'action_woocommerce_before_order_notes', 10, 1 );

例如

  • 當前時間=下午12:05

  • 第一個值=下午5:00

  • 最后一個值=晚上8:00(停止時間)

本文最后更新于 2023-1-19 16:57,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:17tui@17tui.com
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: japanesefree高清日本乱 | 国产亚洲精品自在久久77 | 国产在线不卡午夜精品2021 | 美国一级黄色 | 又黄又爽又猛午夜性色播在线播放 | 毛片免费视频 | 久久受www免费人成看片 | 特级黄色视频毛片 | 污污视频在线 | 一级午夜a毛片免费视频 | 很很射影院 | 中国国产一国产一级毛片视频 | 女同视频一区二区在线观看 | 国产精品久久影院 | 亚洲精品乱码久久久久久 | 日韩精品亚洲人成在线播放 | 看真人视频a级毛片 | 国内精品久久久久影院薰衣草 | 亚洲国产高清一区二区三区 | 久草视频一区 | 免费高清观看青青草原 | 99这里只有精品66视频 | 国产精品久久久久久一区二区三区 | 黄视频在线观看www 黄视频在线观看www免费 | www.香蕉视频在线观看 | 国产无人区一区二区三区 | 日本中文字幕一区二区 | 视频精品一区 | 亚洲国产成人精彩精品 | 国产成人精品日本亚洲11 | 国产的一级片 | 激情开心| 欧美日韩午夜精品不卡综合 | 伊人久久精品一区二区三区 | 亚洲国产成人久久笫一页 | 欧美日韩国产亚洲一区二区三区 | 久久久久久久99精品免费 | 青青久久网 | 国产美女精品视频 | 97视频在线免费 | 特级淫片aaaa毛片aa视频 |