loop – Muestre los productos destacados a través de un bucle personalizado en woocommerce en la página de la plantilla

Pregunta:

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 hacer esto 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 usa woocommerce para el Los productos destacados son '_featured'. Reuní el código a continuación para mostrar los productos que elegí para ser productos destacados 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(); 
?>

Respuesta:

Cambia tus argumentos para que sean así:

$meta_query   = WC()->query->get_meta_query();
$meta_query[] = array(
    'key'   => '_featured',
    'value' => 'yes'
);
$args = array(
    'post_type'   =>  'product',
    'stock'       =>  1,
    'showposts'   =>  6,
    'orderby'     =>  'date',
    'order'       =>  'DESC',
    'meta_query'  =>  $meta_query
);

Si va a wp-content / plugins / woocommerce / includes / class-wc-shortcodes.php (@ 595), puede encontrar cómo se hace para los códigos cortos de WC.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım