Estoy tratando de actualizar la lista/bucle de categorías en woocommerce para reemplazar la miniatura de la categoría con una miniatura del producto más nuevo disponible en la categoría respectiva.
Creo que estoy a medio camino de lograr esto en una página de prueba, aunque puedo enumerar el último producto de cada categoría y mostrar el nombre de la categoría debajo de la imagen, aunque no puedo hacer que se vincule a la página de la categoría. Esto se está ejecutando en una página de prueba, aunque me gustaría que funcione en la página de destino de la tienda.
Además, por alguna razón, no puedo hacer que esto se muestre como la cuadrícula de productos de Woocommerce normal. Todos los productos/categorías simplemente se acumulan a pesar de que he replicado las clases de woocommerce.
Aquí está el código. ¿Estoy yendo por el camino largo? ¿Hay una manera más fácil de lograr esto?
<?php
if (is_page( 2295 )){ ?>
//open
<div class="woocommerce">
<?php
//parameters for the function
$args = array(
'number' => $number,
'orderby' => 'title',
'order' => 'ASC',
'hide_empty' => $hide_empty,
'include' => $ids
);
//fetch the product categories
$product_categories = get_terms( 'product_cat', $args );
//how many categories
$count = count($product_categories);
// Check categories exist
if ( $count > 0 ){
//loop through and minipulate
foreach ( $product_categories as $product_category ) {
//parameters for the query
$args = array(
'posts_per_page' => 1,
'tax_query' => array(
'relation' => 'AND',
array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => $product_category->slug
)
),
'post_type' => 'product',
'orderby' => 'title,'
);
//run the query with the above arguments
$products = new WP_Query( $args );
//open the list with woocommerce class
echo "<ul class="products columns-4">";
//list latest products of each category
while ( $products->have_posts() ) {
$products->the_post();
?>
<li class="product-category product">
<a href="https://stackoverflow.com/questions/59174703/<?php get_site_url() ?>/product-category/<?php echo $product_category->slug; ?>">
<?php the_post_thumbnail('shop_catalog'); ?>
<?php echo"<h2 class'woocommerce-loop-category__title'>" . $product_category->name . "</h2>"; ?>
</a>
</li>
<?php
}
echo "</ul>";
}
}?>
</div>
<?php }
?>
Cualquier ayuda con esto sería genial
.