我找到了解决办法!
<?php
    // Get current Category
    $get_current_cat = get_term_by(\'name\', single_cat_title(\'\',false), \'category\');
    $current_cat = $get_current_cat->term_id;
    // List posts by the terms for a custom taxonomy of any post type
    $post_type = \'myposttype\';
    $tax = \'mytaxonomy\';
    $tax_terms = get_terms( $tax, \'orderby=name&order=ASC\');
    if ($tax_terms) {
        foreach ($tax_terms  as $tax_term) {
            $args = array(
                \'post_type\'         => $post_type,
                "$tax"              => $tax_term->slug,
                \'post_status\'       => \'publish\',
                \'posts_per_page\'    => -1,
                \'category__in\'      => $current_cat // Only posts in current category (category.php)
            );
            $my_query = null;
            $my_query = new WP_Query($args);
            if( $my_query->have_posts() ) : ?>
                <h2><?php echo $tax_term->name; // Group name (taxonomy) ?></h2>
                <?php while ( $my_query->have_posts() ) : $my_query->the_post(); ?>
                    <?php $term_list = wp_get_post_terms($post->ID, \'category\', array("fields" => "ids")); // Get post categories IDs?>
                    <?php if (in_array($current_cat, $term_list) ): // Display only posts that have current category ID ?>
                        <h3><?php the_title(); ?></h3>
                    <?php endif; // if in_array ?>
                <?php endwhile; // end of loop ?>
            <?php endif; // if have_posts()
            wp_reset_query();
        } // end foreach #tax_terms
    } // end if tax_terms
?>