How to quickly switch custom post type singular template?

you can do it like this:

//add movies_view to query vars
add_filter('query_vars', 'my_query_vars');

function my_query_vars($vars) {
    // add movies_view to the valid list of variables
    $new_vars = array('movies_view');
    $vars = $new_vars + $vars;
    return $vars;
}

then add a template redirect based on that query_var:

add_action("template_redirect", 'my_template_redirect');

// Template selection
function my_template_redirect()
{
    global $wp;
    global $wp_query;
    if ($wp->query_vars["post_type"] == "movies")
    {
        // Let's look for the property.php template file in the current theme
        if (array_key_exists('movies_view', $wp->query_vars) && $wp->query_vars['movies_view'] == 'overview'){
            include(TEMPLATEPATH . '/single-movies.php');
            die();
        }
        if (array_key_exists('movies_view', $wp->query_vars) && $wp->query_vars['movies_view'] == 'landing'){
            include(TEMPLATEPATH . '/template-movieslanding.php');
            die();
        }
        if (array_key_exists('movies_view', $wp->query_vars) && $wp->query_vars['movies_view'] == 'wholesale'){
            include(TEMPLATEPATH . '/template-movieswholesale.php');
            die();
        }
    }
}

then add this var to your links

  • For Overview add ?movies_view=overview to the url
  • For Landing Page add ?movies_view=landing to the url
  • For Wholesale add ?movies_view=wholesale to the url

Hope this helps

Leave a Comment