Je voudrais de l'aide avec le problème suivant avec woocommerce.
J'utilise wordpress 3.5.2, woocommerce 2.0.13 et le thème du sommerce.
J'ai une page de catégorie de produit dans laquelle j'affiche 5 sous-catégories. Sous les 5 images de la sous-catégorie, je voudrais avoir des produits en vedette ou des produits aléatoires de ces catégories. Savez-vous comment je pourrais faire ça?
Je viens de vérifier et WooCommerce exécute la description de la catégorie de produits à travers les filtres the_content
, ce qui signifie qu'elle devrait exécuter des codes courts.
WooCommerce a beaucoup de codes courts, voir leur documentation
Y compris les produits en vedette:
[featured_products per_page="12" columns="4"]
L'inconvénient, c'est que les produits présentés ne sont peut-être pas tous de cette catégorie. Vous n'avez pas mentionné si c'était un problème ou non.
Si c'est le cas, vous pouvez dupliquer le code à partir du [featured_products]
(qui exécute une boucle secondaire avec WP_Query
), ajustez-le un peu et ajoutez la sortie au crochet woocommerce_before_shop_loop
.
function wpa_107952_featured (){
if( !is_product_category() )
return;
$args = array(
'post_type' => 'product',
'product_cat' => get_query_var('product_cat'),
'post_status' => 'publish',
'ignore_sticky_posts' => 1,
'posts_per_page' => 8,
'meta_query' => array(
array(
'key' => '_visibility',
'value' => array('catalog', 'visible'),
'compare' => 'IN'
),
array(
'key' => '_featured',
'value' => 'yes'
)
)
);
ob_start();
$products = new WP_Query( $args );
$woocommerce_loop['columns'] = 4;
if ( $products->have_posts() ) : ?>
<?php woocommerce_product_loop_start(); ?>
<?php while ( $products->have_posts() ) : $products->the_post(); ?>
<?php woocommerce_get_template_part( 'content', 'product' ); ?>
<?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>
<?php endif;
wp_reset_postdata();
echo '<div class="woocommerce">' . ob_get_clean() . '</div>';
}
add_action( 'woocommerce_before_shop_loop', 'wpa_107952_featured' );