mysql - tutorial - Artículos de pedido de WooCommerce por producto Meta
woocommerce mysql (1)
Aquí hay algunos códigos relacionados que pueden ayudarte:
add_filter( ''woocommerce_shop_order_search_fields'', ''woocommerce_shop_order_search_product_cat'' );
function woocommerce_shop_order_search_product_cat( $search_fields ) {
$args = array(
''post_type'' => ''shop_order''
);
$orders = new WP_Query($args);
if($orders->have_posts()) {
while($orders->have_posts()) {
$post = $orders->the_post();
$order_id = get_the_ID();
$order = new WC_Order($order_id);
$items = $order->get_items();
foreach($items as $item) {
$product_cats = wp_get_post_terms( $item[''product_id''], ''product_cat'' );
foreach($product_cats as $product_cat) {
add_post_meta($order_id, "_product_cat", $product_cat->name);
}
}
}
};
$search_fields[] = ''_product_cat'';
return $search_fields;
}
Esto es un poco extraño, pero estoy teniendo problemas para encontrar una respuesta sobre cómo hacer esto:
Estoy intentando crear una consulta personalizada que obtenga todos los productos (y sus meta) que están contenidos dentro de una orden de WooCommerce.
Por ejemplo, digamos que tengo estos pedidos pendientes:
Orden A
- Producto 1
- Producto 2
- Producto 3
Orden B
- Producto 4
- Producto 5
- Producto 6
Mi objetivo es crear una lista basada en estos productos pedidos, que está ordenada por el meta del producto. Algo como esto:
Productos con Meta Key A
- Producto 1
- Producto 3
- Producto 4
Pero nuevamente, estos solo serían productos (incluidas sus cantidades) que se encuentran dentro de un pedido.
El problema al que me enfrento es que "Ordenar elementos" y "Ordenar elemento meta" almacenados en la base de datos son bastante limitantes y no muestran toda la información asociada a un producto. En otras palabras, no estoy encontrando la forma de acceder a la información que necesito para crear el ciclo para crear mi lista.
¡Mis habilidades DB son limitadas así que las ideas serán apreciadas!