Rewrite Rule to Combine Taxonomy and Post Type

We need to create the WordPress rewrite rule to handle multi-level slugs such as:

function cpt_rewrite_rule($wp_rewrite) {
    $rules = array();
    $terms = get_terms( array(
        'taxonomy' => 'taxonomy_name',
        'hide_empty' => false,
    ) );

    $post_type="post_type_name";
    foreach ($terms as $term) {

        $rules['parent_slug_name/' . $term->slug . '/([^/]*)$'] = 'index.php?post_type=" . $post_type. "&post_type_name=$matches[1]&name=$matches[1]';

    }
    // merge with global rules
    $wp_rewrite->rules = $rules + $wp_rewrite->rules;
}
add_filter('generate_rewrite_rules', 'cpt_rewrite_rule');

This filter will be called when flushing rewrite rules. I recommend you go to Settings > Permalinks and just save them once again to flush the rewrite rules.