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

17站長網

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

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

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

我已經在我的網站上為收款時間創建了一個自定義結賬字段這是我當前的代碼: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站長網微信二維碼

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

掃一掃,關注站長網微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 自拍偷拍欧美亚洲 | 日韩伊人网| 性激烈的欧美三级高清视频 | 国产区在线观看视频 | 久久国产欧美另类久久久 | 在线观看不卡 | 一级全黄色片 | 成年看片永远免费 | 亚洲综合性 | 黄色三几片 | 一色综合 | 国内在线亚洲精品第一线 | 国产精品亚洲欧美大片在线看 | 精品视频手机在线观看免费 | 欧美视频亚洲色图 | 国产视频二区 | 国产成人久久精品一区二区三区 | 久久福利一区 | 亚洲成人美女 | 日批视频在线 | 国产啪精品视频网给免丝袜 | 黑人巨大进入美女深处的视频 | 国产一在线精品一区在线观看 | 国产裸舞福利资源在线视频 | 成人啪精品视频免费网站 | 日本黄色免费观看 | 99久久综合狠狠综合久久aⅴ | 一级黄色大片免费观看 | 91这里只有精品 | 日本888 xxxx| 欧美亚洲国产精品久久高清 | 久久久青草青青亚洲国产免观 | 亚洲精品成人一区二区aⅴ 亚洲精品大片 | 午夜亚洲国产成人不卡在线 | 国产亚洲精品aa在线看 | 色综合久久综合中文小说 | 国产chiese在线视频 | 久久午夜精品2区 | 国产午夜亚洲精品不卡 | 永久在线视频 | 国模无水印一区二区三区 |