Make WordPress Core

Ticket #38249: 38249.patch

File 38249.patch, 8.0 KB (added by johnbillion, 9 years ago)
  • src/wp-includes/template.php

     
    144144/**
    145145 * Retrieve path of author template in current or parent template.
    146146 *
     147 * The hierarchy for this template looks like:
     148 *
     149 *     1. author-{nicename}.php
     150 *     2. author-{id}.php
     151 *     3. author.php
     152 *
     153 * An example of this is:
     154 *
     155 *     1. author-john.php
     156 *     2. author-1.php
     157 *     3. author.php
     158 *
    147159 * The template hierarchy is filterable via the {@see 'author_template_hierarchy'} hook.
    148160 * The template path is filterable via the {@see 'author_template'} hook.
    149161 *
     
    170182/**
    171183 * Retrieve path of category template in current or parent template.
    172184 *
    173  * Works by first retrieving the current slug, for example 'category-default.php',
    174  * and then trying category ID, for example 'category-1.php', and will finally fall
    175  * back to category.php template, if those files don't exist.
     185 * The hierarchy for this template looks like:
    176186 *
     187 *     1. category-{slug}.php
     188 *     2. category-{id}.php
     189 *     3. category.php
     190 *
     191 * An example of this is:
     192 *
     193 *     1. category-news.php
     194 *     2. category-2.php
     195 *     3. category.php
     196 *
    177197 * The template hierarchy is filterable via the {@see 'category_template_hierarchy'} hook.
    178198 * The template path is filterable via the {@see 'category_template'} hook.
    179199 *
    180200 * @since 1.5.0
     201 * @since 4.7.0 The decoded form of `category-{slug}.php` was added to the top of the
     202 *              template hierarchy when the category slug contains multibyte characters.
    181203 *
    182204 * @see get_query_template()
    183205 *
     
    206228/**
    207229 * Retrieve path of tag template in current or parent template.
    208230 *
    209  * Works by first retrieving the current tag name, for example 'tag-wordpress.php',
    210  * and then trying tag ID, for example 'tag-1.php', and will finally fall back to
    211  * tag.php template, if those files don't exist.
     231 * The hierarchy for this template looks like:
    212232 *
     233 *     1. tag-{slug}.php
     234 *     2. tag-{id}.php
     235 *     3. tag.php
     236 *
     237 * An example of this is:
     238 *
     239 *     1. tag-wordpress.php
     240 *     2. tag-3.php
     241 *     3. tag.php
     242 *
    213243 * The template hierarchy is filterable via the {@see 'tag_template_hierarchy'} hook.
    214244 * The template path is filterable via the {@see 'tag_template'} hook.
    215245 *
    216246 * @since 2.3.0
     247 * @since 4.7.0 The decoded form of `tag-{slug}.php` was added to the top of the
     248 *              template hierarchy when the tag slug contains multibyte characters.
    217249 *
    218250 * @see get_query_template()
    219251 *
     
    240272}
    241273
    242274/**
    243  * Retrieve path of taxonomy template in current or parent template.
     275 * Retrieve path of custom taxonomy term template in current or parent template.
     276 *
     277 * The hierarchy for this template looks like:
     278 *
     279 *     1. taxonomy-{taxonomy_slug}-{term_slug}.php
     280 *     2. taxonomy-{taxonomy_slug}.php
     281 *     3. taxonomy.php
    244282 *
    245  * Retrieves the taxonomy and term, if term is available. The template is
    246  * prepended with 'taxonomy-' and followed by both the taxonomy string and
    247  * the taxonomy string followed by a dash and then followed by the term.
    248  *
    249  * The taxonomy and term template is checked and used first, if it exists.
    250  * Second, just the taxonomy template is checked, and then finally, taxonomy.php
    251  * template is used. If none of the files exist, then it will fall back on to
    252  * index.php.
     283 * An example of this is:
     284 *
     285 *     1. taxonomy-location-texas.php
     286 *     2. taxonomy-location.php
     287 *     3. taxonomy.php
    253288 *
    254289 * The template hierarchy is filterable via the {@see 'taxonomy_template_hierarchy'} hook.
    255290 * The template path is filterable via the {@see 'taxonomy_template'} hook.
    256291 *
    257292 * @since 2.5.0
     293 * @since 4.7.0 The decoded form of `taxonomy-{taxonomy_slug}-{term_slug}.php` was added to the top of the
     294 *              template hierarchy when the term slug contains multibyte characters.
    258295 *
    259296 * @see get_query_template()
    260297 *
    261  * @return string Full path to taxonomy template file.
     298 * @return string Full path to custom taxonomy term template file.
    262299 */
    263300function get_taxonomy_template() {
    264301        $term = get_queried_object();
     
    300337/**
    301338 * Retrieve path of home template in current or parent template.
    302339 *
    303  * This is the template used for the page containing the blog posts.
    304  * Attempts to locate 'home.php' first before falling back to 'index.php'.
    305  *
    306340 * The template hierarchy is filterable via the {@see 'home_template_hierarchy'} hook.
    307341 * The template path is filterable via the {@see 'home_template'} hook.
    308342 *
     
    339373/**
    340374 * Retrieve path of page template in current or parent template.
    341375 *
    342  * Will first look for the specifically assigned page template.
    343  * Then will search for 'page-{slug}.php', followed by 'page-{id}.php',
    344  * and finally 'page.php'.
     376 * The hierarchy for this template looks like:
     377 *
     378 *     1. {Page template}
     379 *     2. page-{page_name}.php
     380 *     3. page-{id}.php
     381 *     4. page.php
     382 *
     383 * An example of this is:
     384 *
     385 *     1. page-templates/full-width.php
     386 *     2. page-about.php
     387 *     3. page-4.php
     388 *     4. page.php
    345389 *
    346390 * The template hierarchy is filterable via the {@see 'page_template_hierarchy'} hook.
    347391 * The template path is filterable via the {@see 'page_template'} hook.
    348392 *
    349393 * @since 1.5.0
     394 * @since 4.7.0 The decoded form of `page-{page_name}.php` was added to the top of the
     395 *              template hierarchy when the page name contains multibyte characters.
    350396 *
    351397 * @see get_query_template()
    352398 *
     
    416462/**
    417463 * Retrieve path of single template in current or parent template.
    418464 *
     465 * The hierarchy for this template looks like:
     466 *
     467 *     1. single-{post_type}-{post_name}.php
     468 *     2. single-{post_type}.php
     469 *     3. single.php
     470 *
     471 * An example of this is:
     472 *
     473 *     1. single-post-hello-world.php
     474 *     2. single-post.php
     475 *     3. single.php
     476 *
    419477 * The template hierarchy is filterable via the {@see 'single_template_hierarchy'} hook.
    420478 * The template path is filterable via the {@see 'single_template'} hook.
    421479 *
    422480 * @since 1.5.0
    423481 * @since 4.4.0 `single-{post_type}-{post_name}.php` was added to the top of the template hierarchy.
     482 * @since 4.7.0 The decoded form of `single-{post_type}-{post_name}.php` was added to the top of the
     483 *              template hierarchy when the post name contains multibyte characters.
    424484 *
    425485 * @see get_query_template()
    426486 *
     
    450510/**
    451511 * Retrieves an embed template path in the current or parent template.
    452512 *
    453  * By default the WordPress-template is returned.
     513 * The hierarchy for this template looks like:
     514 *
     515 *     1. embed-{post_type}-{post_format}.php
     516 *     2. embed-{post_type}.php
     517 *     3. embed.php
     518 *
     519 * An example of this is:
     520 *
     521 *     1. embed-post-audio.php
     522 *     2. embed-post.php
     523 *     3. embed.php
    454524 *
    455525 * The template hierarchy is filterable via the {@see 'embed_template_hierarchy'} hook.
    456526 * The template path is filterable via the {@see 'embed_template'} hook.
     
    498568/**
    499569 * Retrieve path of attachment template in current or parent template.
    500570 *
    501  * The attachment path first checks if the first part of the mime type exists.
    502  * The second check is for the second part of the mime type. The last check is
    503  * for both types separated by an underscore. If neither are found then the file
    504  * 'attachment.php' is checked and returned.
     571 * The hierarchy for this template looks like:
    505572 *
    506  * Some examples for the 'text/plain' mime type are 'text.php', 'plain.php', and
    507  * finally 'text-plain.php'.
     573 *     1. {mime_type}-{sub_type}.php
     574 *     2. {sub_type}.php
     575 *     3. {mime_type}.php
     576 *     4. attachment.php
     577 *
     578 * An example of this is:
     579 *
     580 *     1. image-jpeg.php
     581 *     2. jpeg.php
     582 *     3. image.php
     583 *     4. attachment.php
    508584 *
    509585 * The template hierarchy is filterable via the {@see 'attachment_template_hierarchy'} hook.
    510586 * The template path is filterable via the {@see 'attachment_template'} hook.
    511587 *
    512588 * @since 2.0.0
     589 * @since 4.3.0 The order of the mime type logic was reversed so the hierarchy is more logical.
    513590 *
    514591 * @see get_query_template()
    515592 *