我使用了以下代码,根据产品出售时作者的标签向产品添加了慈善标签
add_action( 'woocommerce_order_status_processing', 'update_product_meta', 20, 2 );
function update_product_meta ( $order_id, $order ) {
$items = $order->get_items();
foreach ( $order->get_items() as $item ) {
$product_id = $item['product_id']
$post_author = $product_id->post_author;
$product = wc_get_product( $product_id );
$product-> update_meta_data( 'product_charity_tag', get_the_author_meta('charity_tag', $post_author ) );
$product-> save();
}
}
我想在特定月份的订单中检索与这些标签一起销售的产品. 我试过这样做;
首先获取特定时间段内的所有订单
$orders = wc_get_orders(array(
'post_type' => 'shop_order',
'posts_per_page' => -1,
'date_before' => $last_day_month,
'date_after' => $first_day_month,
));
然后判断这些订单中的产品是否已贴上特定慈善机构的标签
if(!empty($orders)){
foreach ($orders as $order){
foreach ($order->get_items() as $item ) {
$product = $item->get_product();
$product_data = $product->get_meta('product_charity_tag');
if($product_data = 'bhf'){
if($all_products){
$all_products += $product;
} else {
$all_products = $product;
}
}
}
}
print_r($all_products);
} else {
print("No orders found");
}
但是我得到了以下致命错误:
未捕获类型错误:不支持的操作数类型:WC_Product_Simple+WC_Product_Simple