Ticket #13691: get_template_part.3.diff
File get_template_part.3.diff, 3.5 KB (added by , 15 years ago) |
---|
-
general-template.php
19 19 * @since 1.5.0 20 20 * @uses do_action() Calls 'get_header' action. 21 21 * 22 * @param string $name The name of the specialised header.22 * @param mixed $names The names of the specialised header templates (it can be a string, or an array of names to search for in priority order.). 23 23 */ 24 function get_header( $name = null) {25 do_action( 'get_header', $name );24 function get_header( $names = array() ) { 25 do_action( 'get_header', $names ); 26 26 27 $templates = array();28 if ( isset($name) )29 $templates[] = "header-{$name}.php";30 31 $templates[] = "header.php";32 33 27 // Backward compat code will be removed in a future release 34 if ('' == locate_template($templates, true))28 if ('' == get_template_part( 'header', $names ) ) 35 29 load_template( WPINC . '/theme-compat/header.php'); 36 30 } 37 31 … … 48 42 * @since 1.5.0 49 43 * @uses do_action() Calls 'get_footer' action. 50 44 * 51 * @param string $name The name of the specialised footer.45 * @param mixed $names The names of the specialised footer templates (it can be a string, or an array of names to search for in priority order.). 52 46 */ 53 function get_footer( $name = null ) {54 do_action( 'get_footer', $name );47 function get_footer( $names = null ) { 48 do_action( 'get_footer', $names ); 55 49 56 $templates = array();57 if ( isset($name) )58 $templates[] = "footer-{$name}.php";59 60 $templates[] = "footer.php";61 62 50 // Backward compat code will be removed in a future release 63 if ('' == locate_template($templates, true))51 if ('' == get_template_part( 'footer', $names ) ) 64 52 load_template( WPINC . '/theme-compat/footer.php'); 65 53 } 66 54 … … 77 65 * @since 1.5.0 78 66 * @uses do_action() Calls 'get_sidebar' action. 79 67 * 80 * @param string $name The name of the specialised sidebar.68 * @param mixed $names The names of the specialised sidebar templates (it can be a string, or an array of names to search for in priority order.). 81 69 */ 82 function get_sidebar( $name = null) {83 do_action( 'get_sidebar', $name );70 function get_sidebar( $names = array() ) { 71 do_action( 'get_sidebar', $names ); 84 72 85 $templates = array();86 if ( isset($name) )87 $templates[] = "sidebar-{$name}.php";88 89 $templates[] = "sidebar.php";90 91 73 // Backward compat code will be removed in a future release 92 if ('' == locate_template($templates, true))74 if ('' == get_template_part( 'sidebar', $names ) ) 93 75 load_template( WPINC . '/theme-compat/sidebar.php'); 94 76 } 95 77 … … 111 93 * 112 94 * @uses locate_template() 113 95 * @since 3.0.0 114 * @uses do_action() Calls 'get_template_part {$slug}' action.96 * @uses do_action() Calls 'get_template_part_{$slug}' action. 115 97 * 116 98 * @param string $slug The slug name for the generic template. 117 * @param string $name The name of the specialised template.99 * @param mixed $names The names of the specialised templates (it can be a string, or an array of names to search for in priority order.). 118 100 */ 119 function get_template_part( $slug, $name = null) {120 do_action( "get_template_part_{$slug}", $slug, $name );121 101 function get_template_part( $slug, $names = array() ) { 102 do_action( "get_template_part_{$slug}", $slug, $names ); 103 122 104 $templates = array(); 123 if ( isset($name) )105 foreach ( (array)$names as $name ) { 124 106 $templates[] = "{$slug}-{$name}.php"; 125 107 } 126 108 $templates[] = "{$slug}.php"; 127 109 128 locate_template($templates, true, false);110 return locate_template($templates, true, false); 129 111 } 130 112 131 113 /**