从所有 WooCommerce 预订中获取所有人的总和

2024-03-30

我使用官方 woocommerce 预订插件,并尝试获取所有已预订产品的人员的数量。

对于单个订单,没有问题:

if ( is_callable( 'WC_booking_Data_Store::get_booking_ids_from_order_id') ) {
        $booking_data = new WC_booking_Data_Store();
        $booking_ids = $booking_data->get_booking_ids_from_order_id( $order->get_id() );
    }
            foreach ( $booking_ids as $booking_id ) {
            $booking = new WC_booking( $booking_id );
            
            $person_count = array_sum( $booking->get_person_counts() );
            $total_person_count .= 'Booking id: ' . $booking_id . ' Person Count: ' . $person_count . ' ';
        }

但我怎样才能收集所有预订的总和呢?希望你能帮我


要获取所有“完整”预订人数,请使用以下命令:

// get all bookings Ids with a status "complete"
$bookings_ids = get_posts( array(
    'posts_per_page' => -1,
    'post_type'      => 'wc_booking', // booking post type
    'post_status'    => 'complete',
    'fields'         => 'ids',
));

$persons_count = 0; // Initializing
$persons_html  = '<table><tr><th>Booking id</th><th>Persons count</th></tr>'; // Initializing

// Loop through booking Ids
foreach ( $bookings_ids as $booking_id ) {
    $booking = new WC_Booking( $booking_id ); // Get the WC_Booking instance object
    $count   = array_sum( $booking->get_person_counts() );

    $persons_count += $count;
    $persons_html  .= '<tr><td>' . $booking_id . '</td><td>' . $count . '</td></tr>';
}
$persons_html .= '<tr><th><strong>Total count</th><td style="color:red">' . $persons_count . '</td></tr>';

// Output
echo $persons_html . '</table>';

经过测试并有效。

为了让它更轻,你可以替换:

    $booking = new WC_Booking( $booking_id ); // Get the WC_Booking instance object
    $count   = array_sum( $booking->get_person_counts() );

简单地通过:

    $count   = array_sum( get_post_meta($booking_id, '_booking_persons', true) );
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从所有 WooCommerce 预订中获取所有人的总和 的相关文章

随机推荐

  • WASAPI:选择专用输出的波形格式

    我正在尝试使用 WASAPI 打开带有输出设备的独占流 我在选择可接受的格式时遇到了困难 因为似乎没有关于给定设备接受哪些格式的提示 就我而言 IAudioClient GetMixFormat 否则会返回设备的一种默认格式 返回一种不能在
  • 排序错误

    我正在使用 Microsoft SQL Server Management Studio 我有两个数据库 一个是系统数据库 其中包含 master 数据库 另一个是我的数据库 名为CCTNS CAS DE DB 当我尝试通过使用以下工具的工
  • Android 在等待位置时显示进度对话框

    我正在使用以下示例开发基于位置的应用程序 http www androidhive info 2012 07 android gps location manager tutorial http www androidhive info 2
  • C# 中的高质量图形/波形显示组件

    我正在寻找一种使用 C 编写的快速 专业外观且可定制的波形显示组件 我想在时域和频域中主要显示实时音频波形 快 我希望能够缩放 更改轴设置 显示多个通道 自定义感觉和颜色等 有人知道任何事情吗 无论是商业的还是非商业的 谢谢你 Diego
  • 在 Git 中切换分支不会删除目录

    我在 Git 中创建了两个分支 git branch F1 git branch F2 接下来 我切换到 F1 git checkout F1 I rename my UnitTests目录到Tests git mv UnitTests T
  • 使用 LimitedConcurrencyLevelTask​​Scheduler 时延续任务挂起

    我正在研究在 C NET 4 0 中使用 TPL 我创建了一个自定义 API 来简化 Web 请求的创建和下载内容 异步 使用延续任务 那部分工作正常 当我尝试使用时出现的问题LimitedConcurrencyLevelTaskSched
  • 使用 Mocks 测试 Jest 和 Typescript

    我正在使用 Typescript 和 Jest 尝试测试我的 Angular 和 Ionic 应用程序的一些组件 但问题不仅限于 Angular 或 Ionic 因此 我正在尝试让 Jest 的模拟功能发挥作用 我只是创建一个虚拟类 我想尝
  • Visual Studio 2013 - 未安装 Visual Basic/Visual C# Web 模板

    我已在我的计算机上安装了 Visual Studio 2013 Premium MSDN 许可证 然而 ASP NET Web 应用程序模板不存在 除了 Version2012 它为我提供了 MVC 4 请参见下面的屏幕截图 我已经卸载并重
  • Flask Restful:如何使用 fields.Dict() 记录响应主体?

    In flask restplus 我想对具有嵌套列表结构的响应体进行建模 因此每当进行 api 调用时 响应体都会返回我期望的内容 在响应主体中 它有一个嵌套结构 我不知道如何记录它 我要使用吗fields Dict 谁能告诉我如何实现这
  • python 波形符一元运算符作为否定 numpy bool 数组

    应该是一个简单的问题 但我无法在任何地方找到答案 这 python 中的运算符被记录为按位反转运算符 美好的 不过 我注意到看似精神分裂的行为 即 True gt 2 1 gt 2 False gt 1 0 gt 1 numpy array
  • 有没有办法增加 IntelliSense 的字体大小?

    我无法在 Visual Studio 2017 中找到该选项 我知道您可以更改正在编写的代码的字体 但没有看到 IntelliSense 选项让我认为这是不可能的 工具 选项 环境 字体和颜色 gt 语句完成 除了 编辑器工具提示 选项更改
  • @ionic/angular 4.0.0-beta.13:不允许加载本地资源:使用 webview 2.2.3 - Ionic CLI 4.3.1

    从相机拍完照片后 这些路径就出现了 file data data xxx xxx xxx xxx files 1542782360167 jpg 我使用的是Ionic 4 其中WebView是2 2 3 通过应用观察到所有类型的回复 但没有
  • Bootstrap 将容器置于页面中间[重复]

    这个问题在这里已经有答案了 I am brand new to front end and am practising by building a fake e commerce website I ve had a few issues
  • 如何在C#中有效地在桌面上绘图?

    我想用C 直接在桌面上画图 经过一番搜索 我最终使用了桌面 HDC 中的 Graphics 对象 空 然后 我使用这个 Graphics 对象正常绘画 问题是 当屏幕的任何部分被重绘时 我的形状就会丢失 我尝试了一个 While 循环 但它
  • 扫描网站内容(快速)

    我的数据库中有数千个网站 我想在所有网站中搜索特定字符串 最快的方法是什么 我认为我应该首先获取每个网站的内容 这就是我这样做的方式 import urllib2 re string search string source urllib2
  • 在透明像素之上使用 DrawString 进行错误的文本渲染

    将文本渲染到位图时 我发现在具有非不透明 Alpha 的区域顶部渲染时 文本看起来非常糟糕 随着底层像素变得更加透明 问题变得越来越严重 如果我不得不猜测 我会说当底层像素是透明的时 文本渲染器将任何抗锯齿 灰色 像素绘制为纯黑色 以下是一
  • 强制 Microsoft Build Tools 2015 包含框架目标版本的 mscorlib,而不是 4.6

    我在 Visual Studio 2015 中编写了一个应用程序 它使用 C 6 0 功能并面向 NET 4 5 2 当我使用 Microsoft Build Tools 2015 构建它时 这是由我们的 TeamCity 服务器完成的 生
  • 日历视图突出显示错误的星期

    我的应用程序中有一个 CalendarView 当用户通过触摸月视图中的日期来选择日期时 会选择正确的日期 通过在代码中添加调试语句进行验证 但前一周会突出显示 所以看起来好像选择了错误的日期 我找到了一个解决方法 如果我将 firstDa
  • CallLog.Calls 处的 RuntimeException

    如果我尝试查询 有时在某些设备上会出现 RuntimeExceptionCallLog Calls 我查询的是CallLog Calls with contentProvider接听最后一个电话 有人可以帮助我为什么有时会出现此错误吗 我认
  • 从所有 WooCommerce 预订中获取所有人的总和

    我使用官方 woocommerce 预订插件 并尝试获取所有已预订产品的人员的数量 对于单个订单 没有问题 if is callable WC booking Data Store get booking ids from order id