I think it\'s generally better to include the CMB2 plugin. As far as your question, there are a lot of ways to go about this, but I think your way is a solid one. I would make a couple changes. I\'d update your option values to be the name of your template-parts:
\'options\' => array(
\'single-video\' => \'Single Video\',
),
Then I would add a helper function to your theme\'s functions.php:
function idver_get_post_template_part( $post_id ) {
$template = get_post_meta( $post_id, \'temp_ver\', 1 );
if ( ! $template ) {
$template = \'default\'; // Whatever your fallback template part is
}
get_template_part( $template );
}
(obviously, update \'default\' to whatever your default/fallback template part should be. If NO default, that helper function should be updated a bit)
Then in your single.php, just call:
idver_get_post_template_part( get_the_ID() );