0

我在我的网站上使用 WordPress 的一个场景工作了将近一个星期,但还没有找到解决方案:(。

这是一个在线食品门户网站,用户无法在两个时间范围内订购任何菜肴/食品,例如:

  1. 第一个时段 -> 下午 12:00 至下午 4:30(早上 = 午餐)用户不能在此时间范围内订购午餐,但可以在此时间订购晚餐。
  2. 第二个时段 -> 下午 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 ); 

请帮帮我,自上周一以来我一直在解决这个问题,为此我压力很大

谢谢问候,阿萨德

4

0 回答 0