Here is example of how we can redirect to custom templates in wordpress plugin with page name, custom post type, custom taxonomies etc <?php add_action(“template_redirect”, ‘my_theme_redirect’); function my_theme_redirect() { global $wp; $plugindir = dirname(__FILE__); // A Specific page by title / name if ($wp->query_vars[“pagename”] == ‘agenda’) { $templatefilename = ‘page-event-list.php’; if (file_exists(TEMPLATEPATH . ‘/’ . $templatefilename)) { $return_template = TEMPLATEPATH . ‘/’ . $templatefilename; } else { $return_template = $plugindir . ‘/templates/’ . $templatefilename; } do_theme_redirect($return_template); } // A Specific Custom Post Type if ($wp->query_vars[“post_type”] == ‘events’) { $templatefilename = ‘single-event.php’; if (file_exists(TEMPLATEPATH . ‘/’ . $templatefilename)) { $return_template = TEMPLATEPATH . ‘/’ . $templatefilename; } else { $return_template = $plugindir . ‘/templates/’ . $templatefilename; […]
