WPINC_template.php Notes - WordPress-Thinstall/wordpress-develop GitHub Wiki

interface TemplateLoaderInterface {
    function get_query_template( $type, $templates = array() );
    function get_index_template();
    function get_404_template();
    function get_archive_template();
    function get_post_type_archive_template();
    function get_author_template();
    function get_category_template();
    function get_tag_template();
    function get_taxonomy_template();
    function get_date_template();
    function get_home_template();
    function get_front_page_template();
    function get_page_template();
    function get_search_template();
    function get_single_template();
    function get_embed_template();
    function get_singular_template();
    function get_attachment_template();
    function locate_template($template_names, $load = false, $require_once = true );
    function load_template( $_template_file, $require_once = true );
}

Notes Would be easier if each template type was registered with a string identifier and a stronger-type; then the type of template could be getTemplate(string $type) : string; and the path resolution would be defered to each type of template (although it could use a shared constant).