如何解决隐藏WooCommerce中特定时间的送货方式
我想在特定时间打开某些送货方式
flat_rate:7
仅在09.00(24HR)之前显示,我尝试这样做但不起作用
function conditional_hours_range(){
// HERE below,define start / end hours range and time zone (default is 'UTC').
$start_hour = 17;
$end_hour = 18;
date_default_timezone_set ('Asia/Bangkok');
$now = strtotime("now"); // Now time
$today_time = strtotime(date("Y-m-d")); // Today time at 00:00
$starting_time = $today_time + ( $start_hour * 3600 );
$ending_time = $today_time + ( $end_hour * 3600 );
// return true or false
return $now >= $starting_time && $now <= $ending_time ? false : true;}
add_filter( 'woocommerce_available_payment_gateways','hide_payment_gateways_based_on_weight',11,1 );
function hide_shipping_gateways_based_on_weight( $available_gateways ) {
if( conditional_hours_range() ){
unset($method_key_id['wbs:1:a78cdfa1_1_09_00']);
// unset 'cod'
}
}
解决方法
在function.php中使用此
function remove_shipping_options_for_time($available_shipping_methods,$package) {
global $woocommerce;
if(YOUR_CONDITION){
$available_shipping_methods = array();
}
return $available_shipping_methods;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。