Make WordPress Core

Changeset 13146


Ignore:
Timestamp:
02/14/2010 09:32:23 AM (15 years ago)
Author:
westi
Message:

Introduce new get_generic_template() function for themes to use to bring in pieces of template.
Use in twentyten for loop.php including. See #9015.

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-content/themes/twentyten/archive.php

    r13141 r13146  
    1818<?php rewind_posts(); ?>
    1919
    20 <?php include 'loop.php'; ?>
     20<?php get_generic_template( 'loop', 'archive' ); ?>
    2121
    2222            </div><!-- #content -->
  • trunk/wp-content/themes/twentyten/author.php

    r13141 r13146  
    2222<?php rewind_posts(); ?>
    2323
    24 <?php include 'loop.php'; ?>
     24<?php get_generic_template( 'loop', 'author' ); ?>
    2525
    2626            </div><!-- #content -->
  • trunk/wp-content/themes/twentyten/category.php

    r13141 r13146  
    1111<?php rewind_posts(); ?>
    1212
    13 <?php include 'loop.php'; ?>
     13<?php get_generic_template( 'loop', 'category' ); ?>
    1414
    1515            </div><!-- #content -->
  • trunk/wp-content/themes/twentyten/index.php

    r13141 r13146  
    55
    66    <?php if ( have_posts() ) :
    7         include 'loop.php';
     7        get_generic_template( 'loop', 'index' );
    88    else : ?>
    99        <h2><?php _e( 'Not Found', 'twentyten' ); ?></h2>
  • trunk/wp-content/themes/twentyten/search.php

    r13141 r13146  
    66<?php if ( have_posts() ) : ?>
    77                <h1 class="page-title"><?php _e( 'Search Results for: ', 'twentyten' ); ?><span><?php the_search_query(); ?></span></h1>
    8     <?php include 'loop.php'; ?>
     8    <?php get_generic_template( 'loop', 'search' ); ?>
    99<?php else : ?>
    1010                <div id="post-0" class="post no-results not-found">
  • trunk/wp-content/themes/twentyten/tag.php

    r13141 r13146  
    1010<?php rewind_posts(); ?>
    1111
    12 <?php include 'loop.php'; ?>
     12<?php get_generic_template( 'loop', 'tag' ); ?>
    1313
    1414            </div><!-- #content -->
  • trunk/wp-includes/general-template.php

    r13143 r13146  
    9292    if ('' == locate_template($templates, true))
    9393        load_template( get_theme_root() . '/default/sidebar.php');
     94}
     95
     96/**
     97 * Load a generic template.
     98 *
     99 * Includes the named template for a theme or if a name is specified then a
     100 * specialised template will be included. If the theme contains no {slug}.php file
     101 * then no template will be included.
     102 *
     103 * For the parameter, if the file is called "{slug}-special.php" then specify
     104 * "special".
     105 *
     106 * @uses locate_template()
     107 * @since 3.0.0
     108 * @uses do_action() Calls 'get_generic_template_{$slug}' action.
     109 *
     110 * @param string $slug The slug name for the generic template.
     111 * @param string $name The name of the specialised template.
     112 */
     113function get_generic_template( $slug, $name = null ) {
     114    do_action( "get_generic_template_{$slug}", $name );
     115
     116    $templates = array();
     117    if ( isset($name) )
     118        $templates[] = "{$slug}-{$name}.php";
     119
     120    $templates[] = "{$slug}.php";
     121
     122    locate_template($templates, true);
    94123}
    95124
Note: See TracChangeset for help on using the changeset viewer.