我的一个客户正在WordPress/WooCommerce安装上使用yith WooCommerce Booking插件.

他想把它与他使用的外部程序连接起来,我被困在创建一个来自他的程序的新预订上.

预订已成功创建,并且后端将其视为全部,但Products页面上的前端AJAX日历并未刷新,而是显示了旧的可用性.

我的代码的演示部分如下:

$booking = get_post(5404);    

$booking->post_status = 'bk-cancelled';
    
wp_update_post($booking);

$GLOBALS['wpdb']->update( $GLOBALS['wpdb']->posts, $booking, array( 'ID' => 5404 ) );
clean_post_cache( 5404 );
do_action( 'yith_wcbk_booking_updated', $booking );
do_action( 'yith_wcbk_update_booking', 5404, $booking );

$booking = yith_get_booking( $booking );
$booking->save();

在此步骤中,我正try 以编程方式将现有yith WooCommerce预订的状态更新为已取消,虽然它在产品页面的后端工作,但它不清除日期.

有什么 idea 吗?

推荐答案

使用可用的yith WooCommerce预订方法,try 以下简化代码版本:

$booking_id = 5404;
$booking = yith_get_booking( $booking_id );
$booking->set_status('cancelled');
$booking->save();

它应该会起作用,并解决你的问题.

找到的文档:

Php相关问答推荐

如何使用查询范围在Statamic中按组过滤用户?

为WooCommerce中的特定用户角色指定促销价格

如何使用PHP停止foreach循环中的重复项?

Laravel数据表在一个视图中传递两个实例

根据在WooCommerce购物车和 checkout 中 Select 的送货方式显示快捷代码内容

从WC会话变量更改WooCommerce checkout 托运方法成本

如何删除Foreach语句中的重复值?

Symfony 6.2 IsGraned具有多个角色

如何在PHP中组合日期范围

函数存储到变量中

如何在 apache Laragon - laravel 10 中允许方法 DELETE?

在 WooCommerce 更新结帐事件上动态更新自定义内容

Woocommerce 临时购物车税未根据第一个请求正确计算

关于Laravel缓存出现的错误

订单完成后创建 WooCommerce 促销代码

在 vue 自定义渲染器中访问变量

将 WooCommerce 0 销售价格替换为自定义文本,并保留常规价格删除线

如何使用属性创建属性预设?

在 EasyAdmin 中添加全局操作,将我的按钮放在表格下方而不是上方

服务器发送的事件:EventSource 抛出 MIME 错误