Control Custom Post Type template from a plugin

I can control the custom template to be used on custom post type pages but the template file would still need to have the markup of the theme. I was wondering if I could make it theme independent?

Example: I have a plugin that registers my custom post type. I have the post meta info that I want to show in a custom template. I have that template working on my custom post type pages but the max I could do is to use get_header() & get_footer() calls but I can’t deal out the need of having the theme markup between header & footer.

Read More

Did that make any sense? Any ideas?

Related posts

Leave a Reply

1 comment

  1. I have got it working by the following code:

    add_action( 'template_redirect', 'ft_job_cpt_template' );
    
    function ft_job_cpt_template() {
        global $wp, $wp_query;
    
        if ( isset( $wp->query_vars['post_type'] ) && $wp->query_vars['post_type'] == 'job' ) {
            if ( have_posts() ) {
                add_filter( 'the_content', 'ft_job_cpt_template_filter' );
            }
            else {
                $wp_query->is_404 = true;
            }
        }
    }
    
    function ft_job_cpt_template_filter( $content ) {
    
        global $wp_query;
        $jobID = $wp_query->post->ID;
    
        $output = ''; // Build markup fetching info from postmeta
    
        return $output;
    }
    

    Feel free to comment on any suggestions.