如何摆脱租车网站的超额预订

时间:2019-05-05 作者:Mahbub Ansary

我有一个租车网站,人们可以根据自己的需要预订汽车。问题是我的车辆有限,所以在预订完一辆车后,我想在接下来的1个小时内立即显示一个警报,说明已经超额预订,这样就没有人可以在这一小时内再次预订了。

这是我的方法-

仅获取今天的预订信息,检查是否每辆车都已预订,如果已预订,则计算预订时间和当前时间并进行比较。是否等于或小于1小时

  • 如果返回true,则显示警报现在的问题是如何在1小时后删除此消息?

    任何代码示例都将受到高度赞赏。谢谢

  • 1 个回复
    SO网友:Mahbub Ansary

    伙计们在**stackoverflow**:

    您可以使用set_transient 在有人预订了一辆车后,功能正常。我假设一辆车是post类型,所有post都有一个唯一的ID。因此,在预订了一辆车后,您会创建一个在一小时后过期的瞬态。Check Documentation. 您的代码可能具有下一个逻辑。

    set_transient( $post_id . \'_car_is_booked\', true, HOUR_IN_SECONDS );
    
    您将瞬态设置为HOUR_IN_SECONDS 这是一个特殊的WordPress变量,一小时后它将自动从数据库中删除。所以要想知道这辆车是否被预订了,你可以使用这个功能get_transient get_transient Docs.

    // return false if option does not exists 
    get_transient( $post_id . \'_car_is_booked\' );
    
    如果transient 由于存在特定的post ID,这意味着该车在一小时前就被预订了。

    相关推荐

    Admin Theme customization

    我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register