Upload
konstantin-kovshenin
View
5.420
Download
1
Embed Size (px)
DESCRIPTION
At WordCamp Sofia 2013
Citation preview
Templating WordPressKonstantin KovsheninAutomattic
author-$nicename.phpauthor-$id.phpauthor.phparchive.phppaged.phpindex.php
$templates = array( 'foo.php', 'bar.php', 'baz.php',);$template = locate_template( $templates );
function get_sidebar( $name = null ) { $templates = array(); if ( '' !== $name ) $templates[] = "sidebar-{$name}.php"; $templates[] = 'sidebar.php';
locate_template( $templates, true );}
get_sidebar( 'left' );// sidebar-left.php// sidebar.php
get_header( 'foo' );// header-foo.php// header.php
get_footer( 'bar' );// footer-bar.php// footer.php
get_template_part( 'foo', 'bar' );// foo-bar.php// foo.php
get_template_part( 'content', get_post_format() );
// content-gallery.php// content-quote.php// content-image.php// ...// content.php
template-loader.php
if ( is_404() && $template = get_404_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : elseif ( is_date() && $template = get_date_template() ) : elseif ( is_archive() && $template = get_archive_template() ) : elseif ( is_paged() && $template = get_paged_template() ) : else : $template = get_index_template(); endif;
if($template=apply_filters('template_include',$template)) include( $template );
if ( is_404() && $template = get_404_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : elseif ( is_date() && $template = get_date_template() ) : elseif ( is_archive() && $template = get_archive_template() ) : elseif ( is_paged() && $template = get_paged_template() ) : else : $template = get_index_template(); endif;
if($template=apply_filters('template_include',$template)) include( $template );
if ( is_404() && $template = get_404_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : elseif ( is_date() && $template = get_date_template() ) : elseif ( is_archive() && $template = get_archive_template() ) : elseif ( is_paged() && $template = get_paged_template() ) : else : $template = get_index_template(); endif;
if($template=apply_filters('template_include',$template)) include( $template );
if ( is_404() && $template = get_404_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : elseif ( is_date() && $template = get_date_template() ) : elseif ( is_archive() && $template = get_archive_template() ) : elseif ( is_paged() && $template = get_paged_template() ) : else : $template = get_index_template(); endif;
if($template=apply_filters('template_include', $template ) ) include( $template );
// get_author_template()
$templates[] = "author-{$author->nicename}.php";$templates[] = "author-{$author->ID}.php";$templates[] = 'author.php';
$template = locate_template( $templates );
if ( is_404() && $template = get_404_template() ) : elseif ( is_category() && $template = get_category_template() ) : elseif ( is_tag() && $template = get_tag_template() ) : elseif ( is_author() && $template = get_author_template() ) : elseif ( is_date() && $template = get_date_template() ) : elseif ( is_archive() && $template = get_archive_template() ) : elseif ( is_paged() && $template = get_paged_template() ) : else : $template = get_index_template(); endif;
if($template=apply_filters('template_include',$template)) include( $template );
if($template=apply_filters( 'template_include', $template ) ) include( $template );
function my_template_include( $template ) { if ( my_is_maintenance() && $located = locate_template( 'maintenance.php' ) ) $template = $located;
return $template;}add_filter('template_include', 'my_template_include' );
locate_template( array( 'foo.php', 'bar.php', 'baz.php' ) );
// child/foo.php// parent/foo.php// child/bar.php// parent/bar.php// child/baz.php// parent/baz.php
locate_template( 'related-posts.php', true );// child/related-posts.php// parent/related-posts.php
// vs: require get_template_directory() . 'related-posts.php';
wp-includes/template-loader.phpwp-includes/general-template.phpwp-includes/template.php
kovshenin.com/wcsof2013