diff --git a/wp-includes/theme.php b/wp-includes/theme.php index 6c721c491..943a8a2cd 100644 --- a/wp-includes/theme.php +++ b/wp-includes/theme.php @@ -71,7 +71,16 @@ function get_stylesheet_uri() { /** * Retrieve localized stylesheet URI. * - * {@internal Missing Long Description}} + * The stylesheet directory for the localized stylesheet files are located, by + * default, in the base theme directory. The name of the locale file will be the + * locale followed by '.css'. If that does not exist, then the text direction + * stylesheet will be checked for existence, for example 'ltr.css'. + * + * The theme may change the location of the stylesheet directory by either using + * the 'stylesheet_directory_uri' filter or the 'locale_stylesheet_uri' filter. + * If you want to change the location of the stylesheet files for the entire + * WordPress workflow, then change the former. If you just have the locale in a + * separate folder, then change the latter. * * @since 2.1.0 * @uses apply_filters() Calls 'locale_stylesheet_uri' filter on stylesheet URI path and stylesheet directory URI. @@ -135,7 +144,17 @@ function get_template_directory_uri() { /** * Retrieve theme data from parsed theme file. * - * {@internal Missing Long Description}} + * The description will have the tags filtered with the following HTML elements + * whitelisted. The 'a' element with the href and title + * attributes. The abbr element with the title attribute. The + * acronym element with the title attribute allowed. The + * code, em, and strong elements also allowed. + * + * The style.css file must contain theme name, theme URI, and description. The + * data can also contain author URI, author, template (parent template), + * version, status, and finally tags. Some of these are not used by WordPress + * administration panels, but are used by theme directory web sites which list + * the theme. * * @since 1.5.0 * @@ -209,9 +228,15 @@ function get_theme_data( $theme_file ) { /** * Retrieve list of themes with theme data in theme directory. * - * {@internal Missing Long Description}} + * The theme is broken, if it doesn't have a parent theme and is missing either + * style.css and, or index.php. If the theme has a parent theme then it is + * broken, if it is missing style.css; index.php is optional. The broken theme + * list is saved in the {@link $wp_broken_themes} global, which is displayed on + * the theme list in the administration panels. * * @since 1.5.0 + * @global array $wp_broken_themes Stores the broken themes. + * @global array $wp_themes Stores the working themes. * * @return array Theme list with theme data. */ @@ -574,6 +599,23 @@ function get_tag_template() { return apply_filters('tag_template', $template); } +/** + * Retrieve path of taxonomy template in current or parent template. + * + * Retrieves the taxonomy and term, if term is available. The template is + * prepended with 'taxonomy-' and followed by both the taxonomy string and + * the taxonomy string followed by a dash and then followed by the term. + * + * The taxonomy and term template is checked and used first, if it exists. + * Second, just the taxonomy template is checked, and then finally, taxonomy.php + * template is used. If none of the files exist, then it will fall back on to + * index.php. + * + * @since unknown (2.6.0 most likely) + * @uses apply_filters() Calls 'taxonomy_template' filter on found path. + * + * @return string + */ function get_taxonomy_template() { $taxonomy = get_query_var('taxonomy'); $term = get_query_var('term'); @@ -672,7 +714,7 @@ function get_search_template() { * * @since 1.5.0 * - * @return unknown + * @return string */ function get_single_template() { return get_query_template('single'); @@ -793,14 +835,12 @@ function locale_stylesheet() { } /** - * {@internal Missing Short Description}} + * Start preview theme output buffer. * - * {@internal Missing Long Description}} + * Will only preform task if the user has permissions and template and preview + * query variables exist. * * @since 2.5.0 - * - * @param unknown_type $template - * @param unknown_type $stylesheet */ function preview_theme() { if ( ! (isset($_GET['template']) && isset($_GET['preview'])) ) @@ -827,10 +867,30 @@ function preview_theme() { } add_action('setup_theme', 'preview_theme'); +/** + * Callback function for ob_start() to capture all links in the theme. + * + * @since unknown + * @access private + * + * @param string $content + * @return string + */ function preview_theme_ob_filter( $content ) { return preg_replace_callback( "|()|", 'preview_theme_ob_filter_callback', $content ); } +/** + * Manipulates preview theme links in order to control and maintain location. + * + * Callback function for preg_replace_callback() to accept and filter matches. + * + * @since unknown + * @access private + * + * @param array $matches + * @return string + */ function preview_theme_ob_filter_callback( $matches ) { if ( ( false !== strpos($matches[3], '/wp-admin/') ) @@ -849,6 +909,15 @@ function preview_theme_ob_filter_callback( $matches ) { return $matches[1] . attribute_escape( $link ) . $matches[4]; } +/** + * Switches current theme to new template and stylesheet names. + * + * @since unknown + * @uses do_action() Calls 'switch_theme' action on updated theme display name. + * + * @param string $template Template name + * @param string $stylesheet Stylesheet name. + */ function switch_theme($template, $stylesheet) { update_option('template', $template); update_option('stylesheet', $stylesheet);