Показать Избранные продукты в категориях продуктов

Мне нужна помощь в следующем вопросе с помощью woocommerce.

Я использую wordpress 3.5.2, woocommerce 2.0.13 и тему sommerce.

У меня есть страница категории продуктов, в которой я показываю 5 подкатегорий. В соответствии с изображениями из 5 подкатегорий я хотел бы иметь некоторые признанные продукты или случайные продукты этих категорий. Вы знаете, как я могу это сделать?

Я просто дважды проверил, и WooCommerce запускает описание категории продукта через фильтры the_content , а это значит, что он должен запускать короткие коды.

WooCommerce имеет множество коротких кодов, см. Их документацию

Включая избранные продукты:

 [featured_products per_page="12" columns="4"] 

Недостатком этого является то, что предлагаемые продукты могут быть не все из этой конкретной категории. Вы не упомянули, было ли это проблемой или нет.

Если это так, то вы можете дублировать код из [featured_products] (который на самом деле просто запускает вторичный цикл с WP_Query ), немного WP_Query его и добавьте вывод в 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' );