Saltar al contenido

Obtenga productos destacados de WooCommerce en una WP_Query

Después de tanto batallar pudimos hallar la solución de este enigma que muchos usuarios de nuestra web presentan. Si quieres compartir algún detalle no dejes de compartir tu información.

Solución:

Desde Woocommerce 3, necesitas usar un Consulta fiscal en cambio como Productos Destacados ahora son manejados por product_visibilitytaxonomía personalizada por el término featured:

// The tax query
$tax_query[] = array(
    'taxonomy' => 'product_visibility',
    'field'    => 'name',
    'terms'    => 'featured',
    'operator' => 'IN', // or 'NOT IN' to exclude feature products
);

// The query
$query = new WP_Query( array(
    'post_type'           => 'product',
    'post_status'         => 'publish',
    'ignore_sticky_posts' => 1,
    'posts_per_page'      => $products,
    'orderby'             => $orderby,
    'order'               => $order == 'asc' ? 'asc' : 'desc',
    'tax_query'           => $tax_query // <===
) );

Referencias:

  • Documentación oficial WP_Query Parámetros de taxonomía
  • Codigo fuente Woocommerce WC_Shortcodesfeatured_products() función

podrías usar wc_get_featured_product_ids() función para obtener la identificadores de productos destacados array pero usando un consulta fiscal en un WP_Queryestá bien y el camino correcto...

Relacionados:

  • Woocommerce meta_query no funciona para productos destacados
  • Mostrar solo productos destacados en la página de la tienda de Woocommerce
  • Obtener productos destacados en Woocommerce 3

Debería funcionar.

Esta es una vieja pregunta, pero también puede usar wc_get_featured_product_ids():

$args = array(
    'post_type'           => 'product',
    'posts_per_page'      => $products,
    'orderby'             => $orderby,
    'order'               => $order == 'asc' ? 'asc' : 'desc',
    'post__in'            => wc_get_featured_product_ids(),
);

$query = new WP_Query( $args );

Acabo de descubrirlo aquí. ¡Espero que ayude!

Ahora puede usar wc_get_products con el parámetro destacado establecido en true. Consulte https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query

$args = array(
    'featured' => true,
);
$products = wc_get_products( $args );

Para las personas que buscan obtener productos destacados por categoría, pueden consultar mis notas sobre esto => https://jameshwartlopez.com/plugin/get-featured-products-of-a-category/

Reseñas y calificaciones del tutorial

No se te olvide comunicar esta división si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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