我在我的网站上使用 WordPress 的一个场景工作了将近一个星期,但还没有找到解决方案:(。
这是一个在线食品门户网站,用户无法在两个时间范围内订购任何菜肴/食品,例如:
- 第一个时段 -> 下午 12:00 至下午 4:30(早上 = 午餐)用户不能在此时间范围内订购午餐,但可以在此时间订购晚餐。
- 第二个时段 -> 下午 4:35 至晚上 9:00(晚上 = 晚餐)用户不能在此时间范围内订购晚餐,但可以在此时间订购午餐。
简而言之,在下午 12:00 到下午 4:30 之间,用户不能点午餐,但可以在这次以外点餐。同样,在下午 4:35 到晚上 9:00 之间,用户不能点晚餐,但可以在任何其他时间点餐
我正在使用以下钩子和函数:
但还没有工作:
function add_the_date_validation( $passed ) {
$passed = true;
date_default_timezone_set("Asia/Karachi");
$day = date('l');
//Getting Day:
$time = date("h:i a");
if(!empty($_POST['select-1614371742572'])) {
$selected = $_POST['select-1614371742572'];
$lunchstarttime = "12:10 pm";
$lunchendtime = "04:28 pm";
$dinnerstarttime = "04:30 PM";
$dinnerendtime = "09:00 PM";
//Check for Lunch
if($selected == "Lunch")
{
echo $time;
if($time > $lunchstarttime_a && $time < $lunchendtime_a)
{
wc_add_notice( __( 'You can not order lunch between 12:00 PM to 4:30 PM', 'woocommerce' ), 'error' );
$passed = false;
}
}
//Check for Dinner
if($selected == "Dinner")
{
echo $time;
if($time > $dinnerstarttime && $time < $dinnerendtime){
wc_add_notice( __( 'You can not order Dinner between 4:30 AM to 12 AM', 'woocommerce' ), 'error' );
echo "false before";
$passed = false;
}
}
return $passed;
}else{
$passed = true;
return $passed;
}
}
add_filter( 'woocommerce_add_to_cart_validation', 'add_the_date_validation', 10, 5 );
请帮帮我,自上周一以来我一直在解决这个问题,为此我压力很大
谢谢问候,阿萨德