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

interface ThemeTemplateStylesheetFacadeInterface {
    function wp_get_themes( $args = array() );
    function wp_get_theme( $stylesheet = null, $theme_root = null );
    function wp_clean_themes_cache( $clear_update_cache = true );
    function is_child_theme();
    function get_theme_roots();
    function register_theme_directory( $directory );
    function search_theme_directories( $force = false );
    function get_theme_root( $stylesheet_or_template = false );
    function get_theme_root_uri( $stylesheet_or_template = false, $theme_root = false );
    function get_raw_theme_root( $stylesheet_or_template, $skip_cache = false );
    function switch_theme( $stylesheet );
    function validate_current_theme();
    function check_theme_switched()
    
    function get_theme_starter_content();
    
    function get_theme_mods();
    function get_theme_mod( $name, $default = false );
    function set_theme_mod( $name, $value );
    function remove_theme_mod( $name );
    function remove_theme_mods();
    function _delete_attachment_theme_mod( $id );
    
    function get_header_textcolor()
    function header_textcolor();
    function display_header_text();

    // Image Header Theme Feature
    function has_header_image();
    function get_header_image();
    function get_header_image_tag( $attr = array() );
    function the_header_image_tag( $attr = array() );
    function _get_random_header_data();
    function get_random_header_image();
    function is_random_header_image( $type = 'any' );
    function header_image();
    function get_uploaded_header_images();
    function get_custom_header();
    function register_default_headers( $headers );
    function unregister_default_headers( $header );

    // Video Header Theme Feature
    function has_header_video();
    function get_header_video_url();
    function the_header_video_url();
    function get_header_video_settings();
    function is_header_video_active();
    
    function has_custom_header();
    function get_custom_header_markup();
    function the_custom_header_markup();
    function get_background_image();
    function background_image();
    function get_background_color();
    function background_color();
    function _custom_background_cb();
    
    function wp_custom_css_cb();
    function wp_get_custom_css_post( $stylesheet = '' );
    function wp_get_custom_css( $stylesheet = '' );
    function wp_update_custom_css_post( $css, $args = array() );
    
    function add_editor_style( $stylesheet = 'editor-style.css' );
    function remove_editor_styles();
    function get_editor_stylesheets();
    
    function add_theme_support( $feature );
    function get_theme_support( $feature );
    function remove_theme_support( $feature );
    function _remove_theme_support( $feature );
    function current_theme_supports( $feature );
    function require_if_theme_supports( $feature, $include );
    
    function _custom_header_background_just_in_time();
    function _custom_logo_header_styles();
    
    function _wp_customize_include();
    function _wp_customize_publish_changeset( $new_status, $old_status, $changeset_post );
    function _wp_customize_changeset_filter_insert_post_data( $post_data, $supplied_post_data );
    function _wp_customize_loader_settings();
    function wp_customize_url( $stylesheet = null );
    function wp_customize_support_script();
    function is_customize_preview()
    
    function get_stylesheet();
    function get_stylesheet_directory();
    function get_stylesheet_directory_uri();
    function get_stylesheet_uri();
    function get_locale_stylesheet_uri();
    function locale_stylesheet();
    
    function get_template();
    function get_template_directory();
    function get_template_directory_uri();
    
}

Notes* This should be broken into multiple interfaces, if kept so large it should only be implemented as a facade