templating wordpress

Post on 11-Jun-2015

5.420 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

At WordCamp Sofia 2013

TRANSCRIPT

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

top related