精品免费在线观看-精品欧美-精品欧美成人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站長網微信二維碼

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

掃一掃,關注站長網微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 国产v亚洲v欧美v专区 | 亚洲欧美综合乱码精品成人网 | 91在线免费视频 | 播放欧亚一级特黄录像 | 亚洲男女激情 | 久久超级碰 | 日韩三级毛片 | 人成在线 | 亚洲精品色一区色二区色三区 | 亚洲影视久久 | 第一区 | 国产亚洲精品视频中文字幕 | 特黄黄三级视频在线观看 | 天天躁日日躁狠狠躁中文字幕老牛 | 国产a v高清一区二区三区 | 免费看美女毛片 | 亚洲第一免费 | 五月天在线婷婷 | 国产精品第3页 | 超级碰碰青草久热国产 | 国产精品喷水在线观看 | 国产成人亚洲精品久久 | 久久99爱视频| 日韩在线视 | 国产精品免费aⅴ片在线观看 | 精品老司机在线视频香蕉 | 精品无人区乱码一区二区三区手机 | 青青青在线观看视频免费播放 | 国产高清国内精品福利99久久 | 亚洲欧美日产综合一区二区三区 | 最近中国免费高清观看 | 欧美特黄录像播放 | 正在播放国产乱子伦视频 | 久久综合在线 | 91在线精品你懂的免费 | 俄罗斯胖老太与小伙交 | 三黄日本三级在线观看 | 中国一级特黄特级毛片 | 国产高清视频在线播放www色 | 欧美另类69xxxxx免费 | 欲色网站|