Two code snippets here that are pretty self explanatory:
Add a template from the plugin if none is present from the theme
add_filter( 'page_template', 'wpse110317_append_meta' );
function wpse110317_append_meta( $template )
{
is_singular()
AND ! file_exists( get_template_directory()."/{$template}" )
AND $template = plugin_dir_path( __FILE__ )."/{$template}";
return $template;
}
Append something to the content until there’s a template in the theme
add_filter( 'page_template', 'wpse110317_maybe_add_filter' );
function wpse110317_maybe_add_filter( $template )
{
is_singular()
AND ! file_exists( get_template_directory()."/{$template}" )
AND add_action( 'the_content', 'wpse110317_append_meta' );
return $template;
}
function wpse110317_append_meta( $content )
{
// do stuff
return $content;
}