gpt4 book ai didi

php - WooCommerce 从所有订单中获取项目元数据

转载 作者:搜寻专家 更新时间:2023-10-31 22:03:01 24 4
gpt4 key购买 nike

我正在尝试显示来自 WooCommerce 插件的所有已完成订单的所有订单项目(带有项目元)。我还想将显示限制为仅显示 10 个订单项。我已经想出如何显示所有订单项目,但不能将数量限制为 10。这是我目前用于显示所有订单项目的代码:

$args = array(
'post_type' => 'shop_order',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'shop_order_status',
'field' => 'slug',
'terms' => array('completed')
)
)
);

$loop = new WP_Query( $args );

while ( $loop->have_posts() ) : $loop->the_post();
$order_id = $loop->post->ID;
$order = new WC_Order($order_id);

foreach( $order->get_items() as $item ) {

$date = $item['Booking Date'];
$time = $item['Booking Time'];
$fname = $item['First Name - First Name'];
$church = $item['Church Information - Church Name'];
$city = $item['Church Information - City'];
$state = $item['Church Information - State'];
?>

<div class="wc-upcoming-booking">
<div class="wc-upcoming-time">
<span class="upcoming-hour"><?php echo $time; ?></span>
<span class="upcoming-date"><?php echo $date; ?></span>
</div>
<div class="wc-upcoming-details">
<?php echo $fname . ', ' . $church . ', ' . $city . ', ' . $state; ?>
</div>
</div>

<?php }

endwhile;

此代码查询所有已完成的订单,然后循环遍历每个查询订单的所有订单项目。有些订单可能有超过 1 个订单项目,因此如果我将每页帖子数限制为 10,并且所有这些订单都有 5 个订单项目,那么我将总共显示 50 个订单项目。我尝试在 foreach 循环中添加一个“迭代”变量来限制它,但这只会循环一个订单的“5”个订单项目,而不是整个“50”个订单项目。

首先,我需要通过 $date 和 $time 变量对所有订单项进行排序(我相信我可以通过使用 strtotime() 函数将它们转换为时间戳来实现)。

其次,我只想显示所有订单中的前 10 个订单商品(基于时间戳)。

有什么想法可以修改此代码以允许这样做吗?

最佳答案

像这样应该将显示的项目数量限制为 10:

<?php
$args = array(
'post_type' => 'shop_order',
'post_status' => 'publish',
'posts_per_page' => 10,
'tax_query' => array(
array(
'taxonomy' => 'shop_order_status',
'field' => 'slug',
'terms' => array('completed')
)
)
);
$orders=get_posts($args);
$i=0;
foreach($orders as $o):
if($i>10){
break;
}
$order_id = $o->ID;
$order = new WC_Order($order_id);
foreach( $order->get_items() as $item ):
if($i>10){
break;
}
$i++;
$date = $item['Booking Date'];
$time = $item['Booking Time'];
$fname = $item['First Name - First Name'];
$church = $item['Church Information - Church Name'];
$city = $item['Church Information - City'];
$state = $item['Church Information - State'];
?>
<div class="wc-upcoming-booking">
<div class="wc-upcoming-time">
<span class="upcoming-hour"><?php echo $time; ?></span>
<span class="upcoming-date"><?php echo $date; ?></span>
</div>
<div class="wc-upcoming-details">
<?php echo $fname . ', ' . $church . ', ' . $city . ', ' . $state; ?>
</div>
</div>
<?php endforeach;
endforeach;?>

如果我正确理解您要查找的内容,应该可以解决问题。

关于php - WooCommerce 从所有订单中获取项目元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24516046/

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