Сам спросил, сам ответил
<?php
$arguments = array(
'orderby' => 'name',
'order' => 'ASC',
'number' => 0,
'taxonomy' => 'calc_cat',
'field' => 'slug',
);
$cats = get_categories($arguments);
foreach ($cats as $cat) {
echo $cat->cat_name; // Получаем название одной категории
$psts = query_posts( array(
'posts_per_page' => -1,
'post_type' => 'calc',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => 'calc_cat',
'field' => 'slug',
'terms' => $cat->cat_name
))
) );
foreach( $psts as $pst ){
echo $pst->post_title;//вывод продукта
}
} wp_reset_query();
?>