Me gustaría mostrar 6 productos destacados de mi tienda woocommerce en mi plantilla home-page.php. Después de investigar un poco, descubrí que la forma correcta de hacerlo era a través de un bucle personalizado (no deseo usar códigos cortos porque me gustaría agregar clases adicionales para el estilo, etc.) También encontré que la clave que utiliza WooCommerce para los productos destacados están '_featured'. Puse el siguiente código para mostrar los productos que elegí para ser presentados en mi tienda, pero no funciona ... Se agradece cualquier ayuda.
<?php
$args = array(
'post_type' => 'product',
'stock' => 1,
'showposts' => 6,
'orderby' => 'date',
'order' => 'DESC' ,
'meta_query' => array(
array(
'key' => '_featured',
'value' => 0,
'compare' => '>',
'type' => 'numeric'
)
)
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post(); global $product; ?>
<li>
<?php
if ( has_post_thumbnail( $loop->post->ID ) )
echo get_the_post_thumbnail( $loop->post->ID, 'shop_catalog' );
else
echo '<img src="' . woocommerce_placeholder_img_src() . '" alt="Placeholder" width="65px" height="115px" />';
?>
<h3><?php the_title(); ?></h3>
<?php
echo $product->get_price_html();
woocommerce_template_loop_add_to_cart( $loop->post, $product );
?>
</li>
<?php
endwhile;
wp_reset_query();
?>
loop
woocommerce
featured-post
steamfunk
fuente
fuente
var_dump( get_meta_values( '_featured', 'product' );
donde la funciónget_meta_values
es compatible con la función personalizada explicada en esta respuestaRespuestas:
Cambia tus argumentos para que sean así:
Si va a wp-content / plugins / woocommerce / includes / class-wc-shortcodes.php (@ 595) puede encontrar cómo se hace para los shortcodes de WC.
fuente
Esto ha cambiado en WooCommerce 3.0. No es simplemente una meta_query, sino que ahora incluye una tax_query. Los argumentos son ahora:
Ver woocommerce / includes / class-wc-shortcodes.php
fuente
wc_placeholder_img_src
lugar dewoocommerce_placeholder_img_src
.Productos destacados Loop en WooCommerce 3
fuente
De acuerdo con el Wiki de WooCommerce :
WooCommerce aboga por usar
wc_get_products()
o enWC_Product_Query()
lugar deWP_Query()
oget_posts()
.He escrito una publicación con el código que usé para lograr lo que quieres aquí: https://cfxdesign.com/create-a-custom-woocommerce-product-loop-the-right-way/
fuente
Sé que esto es bastante antiguo, pero acabo de compartir una solución alternativa aquí y creo que también puede ayudar a quienes lleguen a este tema.
En lugar de usar
meta_query
otax_query
, también puede usar wc_get_featured_product_ids () :¡Espero que ayude!
fuente
Basado en: https://github.com/woocommerce/woocommerce/wiki/wc_get_products-and-WC_Product_Query
Lo intentaré:
bucle exterior:
en el lazo:
fuente
si echa un vistazo a la base de datos en la
wp_postmeta
tabla, verámeta_key
será_featured
ymeta_value
será másyes
ono
menos en lugar de valor0
o1
escribiryes
ono
fuente
fuente