gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:14:03 25 4
gpt4 key购买 nike

我使用官方的 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) );

关于php - 从所有 WooCommerce 预订中获取所有人的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64662047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com