I don’t think there’s anything special about custom post types and shortcodes. I just did a quick test with the following code and it worked fine on one of the videos on this site, which is a CPT:
function sfire_shortcode_example() {
return ‘This is a sample of a shortcode.‘;
}
add_shortcode(‘sampleshortcode’, ‘sfire_shortcode_example’);
Here are the args for the post type, which may help you:
$args = array(
‘labels’ => $labels,
‘public’ => true,
‘publicly_queryable’ => true,
‘show_ui’ => true,
‘show_in_menu’ => true,
‘query_var’ => true,
‘rewrite’ => true,
‘capability_type’ => ‘post’,
‘has_archive’ => true,
‘hierarchical’ => false,
‘menu_position’ => 5,
‘supports’ => array(‘title’,’editor’,’custom-fields’,’revisions’,’comments’),
‘taxonomies’ => array(‘category’,’post_tag’)
);