Oferta SiteGround Black Friday

Cómo buscar pedidos por SKU en WooCommerce

Si administras una tienda online y utilizas los SKU para gestionar el control de tus productos, inventario o lo que sea que necesites, tarde o temprano vas a descubrir que WooCommerce por defecto no te permite buscar pedidos por SKU.

Esto, para una gestión eficaz de cualquier tienda online que utilice SKUs es un problema que, afortunadamente, tiene fácil solución, simplemente añadiendo unas pocas líneas de código que consiguen que el buscador de pedidos funcione como siempre debió hacerlo.

El código es este:

/* Permitir buscar pedidos por SKU */
add_filter( 'woocommerce_shop_order_search_results', 'ayudawp_buscar_pedidos_por_sku', 9999, 3 );
function ayudawp_buscar_pedidos_por_sku( $order_ids, $term, $search_fields ) {
global $wpdb;
if ( ! empty( $search_fields ) ) {
$product_id = wc_get_product_id_by_sku( $wpdb->esc_like( wc_clean( $term ) ) );
if ( ! $product_id ) return $order_ids; 
$order_ids = array_unique(
$wpdb->get_col(
$wpdb->prepare( "SELECT order_id FROM {$wpdb->prefix}woocommerce_order_items WHERE order_item_id IN ( SELECT order_item_id FROM {$wpdb->prefix}woocommerce_order_itemmeta WHERE meta_key = '_product_id' AND meta_value = %d ) AND order_item_type = 'line_item'", $product_id )
)
);
}
return $order_ids; 
}

Si no sabes cómo o dónde añadir este código aquí tienes una guía rápida y sencilla:

Cómo y dónde pegar en WordPress códigos PHP, JS, CSS y funciones que encuentres por ahí

Cuando hayas añadido el código, ahora sí, WooCommerce te permitirá buscar pedidos por SKU.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en los emoticonos para valorarlo!

Promedio de puntuación 5 / 5. Total de votos: 8

Hasta ahora ¡no hay votos!. Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Ayúdame a mejorar este contenido!

Por favor, dime, ¿cómo puedo mejorarlo?

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

Sobre el autor

5 comentarios en “Cómo buscar pedidos por SKU en WooCommerce”

  1. Hola,
    he colocado este fragmento en mi archivo functions.php pero no hace nada. Cuando introduzo un sku de producto en el buscador de la pagina de pedidos en el backend, devuelve 0 resultados, aun habiendo pedidos que contienen productos con dicho sku.

    Tanto mi wordpress como mi woocommerce estan actualizados a la última versión. Mi theme es Astra.

    Solo tengo 3 plugins instalados en mi tienda (Woocommerce, Sequential Order Numbers for WooCommerce, Variation Swatches for WooCommerce) por lo que tampoco creo que sea un conflicto por algun plugin.

    ¿Tal vez hay algun error o le falta algo al código?

    1. Hola Nerea, el código lo he usado yo mismo para hacerlo funcionar en varios sitios y además para tener las capturas del artículo, así que en principio está bien, a mi me funciona.

      1. Hola Fernando,
        puede ser que solo funcione con los pedidos que se han creado desde la tienda frontend y que no funcione con los pedidos creados manualmente?

  2. Hola Fernando, he implementado el código y funciona para productos individuales pero no para productos con variaciones. ¿Que podemos cambiar para incluir estos últimos? De antemano gracias.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información base sobre privacidad:
- Responsable: Fernando Tellado ([email protected])
- Fin del tratamiento: Moderación de comentarios para evitar spam
- Legitimación: Tu consentimiento
- Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal
- Derechos: Acceso, rectificación, portabilidad, olvido

 

Ir arriba