how to use two permalinks for one custom post type

I have a custom post type “article” where posts have a permalink structure (www.mysite.com/article/post-name).
I need each post in it to have two different templates according to its permalinks:
the first template single-article.php: displayed with the common permalink (www.mysite.com/article/post-name).
the second template abstract-template.php : is used whith a custom permalink (www.mysite.com/article/abstract/post-name).
I found a code and it worked perfectly with wordpress normal posts, but it didn’t work with custom post type:

function wpd_query_var( $query_vars ){
$query_vars[] = 'is_abstract';
return $query_vars;
}
add_filter('query_vars', 'wpd_query_var');
function wpd_post_rewrite(){
    add_rewrite_rule(
        'abstract/([^/]+)/?$',
        'index.php?name=$matches[1]&is_abstract=1',
        'top'
    );
}
add_action( 'init', 'wpd_post_rewrite' );
function wpd_abstract_template( $single_template ){
    global $wp_query;
    if ( isset( $wp_query->query_vars['is_abstract'] ) ) {
        $single_template = locate_template( 'abstract_template.php', false );
    }
    return $single_template;
}
add_filter( 'single_template', 'wpd_abstract_template' );

is there any suggestions to make it work with this custom post type?

Solutions Collecting From Web of "how to use two permalinks for one custom post type"