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