Цикл вывода товаров из определённой категории?
$loop = new WP_Query( array( 
  'category_name' => 'имя_категории',
  'post_type' => 'product', 
  'posts_per_page' => 40,
  'orderby' => 'menu_order', 
  'order' => 'ASC',
  ));
Этот способ из 3х, более оптимизированный и потребляет меньше ресурс для исполнения
$posts = get_posts( array(
                             'numberposts' => -1,
                             'posts_per_page' => 40,
                             'orderby'     => 'menu_order',
                             'order'       => 'ASC',
                             'post_type'   => 'product',
                            'category_name' => 'имя_категории',
                             ) );