【发布时间】:2021-05-20 20:23:12
【问题描述】:
我的商店有许多可变产品。所有订单都是专门为客户定制的。这意味着当我们在仓库中收到产品时,我们需要找到具体产品的订单。现在我们只需要手动检查大多数订单。
我们希望通过自定义属性词搜索订单来节省宝贵的时间。例如:我们为自定义订单使用属性“size”。我们有 24 个“尺寸”词(例如“12cm”、:16cm 等)。我们想根据尺寸词查找订单。例如:查找所有尺寸为“48cm”的订单。
基于Extending search in backend orders list for product items by id or by sku,这是我的代码尝试:
add_filter( 'woocommerce_shop_order_search_fields', function ($search_fields ) {
$orders = get_posts( array( 'post_type' => 'shop_order' ) );
foreach ($orders as $order_post) {
$order_id = $order_post->ID;
$order = new WC_Order($order_id);
$items = $order->get_items();
foreach( $order->get_items() as $item_id => $item_values ) {
if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
$product_id = $item_values['product_id'];
} else {
$product_id = $item_values->get_product_id();
}
$attribute = $item_values->get_data();
// attribute value
$value = $attribute['value'];
// attribute slug
$slug = $attribute['size'];
add_post_meta($order_id, $slug, $value, true); //
}
}
return array_merge($search_fields, array($slug));
});
但它没有用。任何帮助表示赞赏。
【问题讨论】:
-
你说的是
custom made,但你却引用了尺寸……每种产品有什么独特之处吗? -
我想知道 - 刚刚尝试在我的商店中按属性值搜索,它似乎返回了正确的订单,比如当我输入“黑色”(颜色的自定义属性)时。我想知道“12cm”是否对您产生任何结果?就像订单搜索中的关键字...
-
你好!请对以下答案提供一些反馈。
-
@LoicTheAztec - 你能回复我对你的回答的评论吗?谢谢!
标签: php wordpress woocommerce orders taxonomy-terms