amjay
Tengo este código para mostrar productos de una categoría y también me gustaría mostrar su precio. ¿Alguna idea de lo que podría agregar o cambiar? El siguiente código no muestra nada (tampoco hay errores).
<?php
$product_categories = array('cat-name');
$wc_query = new WP_Query( array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => 10,
'tax_query' => array( array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $product_categories,
'operator' => 'IN',
) )
) );
?>
<h1 style="margin-top:30px;">Cat Name</h1>
<div class="changing-img">
<?php if ($wc_query->have_posts()) : ?>
<?php while ($wc_query->have_posts()) :
$wc_query->the_post(); ?>
<a href="https://stackoverflow.com/questions/50806232/<?php the_permalink(); ?>">
<?php the_post_thumbnail('full'); ?>
<?php the_post_thumbnail('full'); ?>
<h6><?php the_title(); ?> </h6>
<p><?php echo $wc_query->get_price_html(get_the_ID()); ?></p>
</a>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else: ?>
<li>
<?php _e( 'No products' ); ?>
</li>
<?php endif; ?>
</div>
Además, si eso fuera posible, me gustaría extraer una primera imagen de una galería de Woocommerce (no una miniatura). Muchas gracias.
LoicTheAztec
Actualización de agosto de 2020
Deberías reemplazar la línea:
<p><?php echo $wc_query->get_price_html(get_the_ID()); ?></p>
Por las siguientes líneas:
<?php $price = get_post_meta( get_the_ID(), '_price', true ); ?>
<p><?php echo wc_price( $price ); ?></p>
o por esto mucho mejor camino (que generará el precio con el formato correcto para mostrar):
<?php $product = wc_get_product( get_the_ID() ); /* get the WC_Product Object */ ?>
<p><?php echo $product->get_price_html(); ?></p>
-
¿Qué debo hacer si quiero obtener el precio regular y el precio de venta? Gracias
– Shahid Khattak
19 de enero de 2019 a las 12:39
-
@ShahidKhattak Uso
get_post_meta( get_the_ID(), '_regular_price', true );
yget_post_meta( get_the_ID(), '_sale_price', true );
– LoicTheAztec
19 de enero de 2019 a las 12:51
-
¡Hola! ¿Simplemente tiene curiosidad por saber por qué obtener el objeto completo es mejor que solo obtener el precio usando get_post_meta? Este último trae solo la información que necesitamos: ¿el objeto agregaría más gastos generales y sería un poco excesivo si todo lo que quisiéramos fuera el precio? ¡Gracias!
– csaborio
23 de agosto de 2021 a las 13:54